Android:如何保存不是(JPEG和PNG)的图像文件? [旋转后]

时间:2011-11-24 16:17:39

标签: android image save rotation bmp

我正在尝试从sdcard旋转图像,然后保存回SD卡。

我可以使用ExifInterface类来实现“.jpg”格式:

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 个答案:

答案 0 :(得分:3)

答案 1 :(得分:-2)

嘿,只需将名称命名为.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**")

听起来好像只是蠢蠢欲动,但是一旦它被保存在bmp foramt中,就试试吧。欢呼