Android: Как сохранить файлы изображений, которые не являются (JPEG и PNG)? [после поворота] - PullRequest
2 голосов
/ 24 ноября 2011

Я пытаюсь повернуть изображение с SDCard и затем сохранить обратно на SDCard.

Я могу сделать это для формата ".jpg", используя класс ExifInterface:

exif = new ExifInterface(filepath);
exif.setAttribute(ExifInterface.TAG_ORIENTATION, Integer.toString(orientation));
exif.saveAttributes();

Для«.png» файлы, я должен был бы на самом деле повернуть и сохранить:

Bitmap bitmap = BitmapFactory.decodeFile(filepath);
Matrix matrix = new Matrix();
matrix.postRotate(degrees);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
FileOutputStream stream = new FileOutputStream(fileLocation);
bitmap.compress(CompressFormat.PNG, 100, stream);

Что насчет «.bmp», «.tiff», «.gif» ??

Кажетсякак CompressFormat поддерживает только 'CompressFormat.PNG' и 'CompressFormat.JPG'.

Это ограничение?

Ответы [ 2 ]

3 голосов
/ 24 ноября 2011
0 голосов
/ 22 января 2013

Эй, просто назовите имя .bmp

Сделайте это:

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
_bitmapScaled.compress(Bitmap.CompressFormat.PNG, 40, bytes);

//you can create a new file name "test.BMP" in sdcard folder.
File f = new File(Environment.getExternalStorageDirectory()
                        + File.separator + "**test.bmp**")

будет звучать, что IM ПРОСТО ОСТАЕТСЯ ВОКРУГ, но попробуйте, как только оно будет сохранено в bmp foramt..Cheers

...