Sim*_*rta 9 android jpeg image-resizing
有没有办法调整JPEG图像文件(从文件系统到文件系统)而不删除元数据(就像ImageMagicks 一样convert in.jpg -resize 50% out.jpg)?
我发现我调整发现.jpg文件的唯一方法是BitmapFactory.decodeStream和Bitmap.compress,它看起来像一个很大的开销,如果我需要手动传输图像元数据.
可以使用android.media.ExifInterface读取元数据,通过压缩图像Bitmap.compress,然后将元数据保存回来:
String filename = "yourfile.jpg";
// this reads all meta data
ExifInterface exif = new ExifInterface(filename);
// read and compress file
Bitmap bitmap = BitmapFactory.decodeFile(filename);
FileOutputStream fos = new FileOutputStream(filename);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos);
fos.close();
// write meta data back
exif.saveAttributes();
Run Code Online (Sandbox Code Playgroud)
我没有测试它,但查看ExifInterface 的源代码,它可能有效。如果您不想依赖实现细节,您当然可以循环所有属性并复制它们。
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |