我正在尝试从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'。
这是限制吗?
答案 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中,就试试吧。欢呼