如何在Android中进行位图压缩后保存Exif数据

Jan*_*pan 5 android exif android-camera-intent android-bitmap

使用相机意图拍摄照片后,我压缩位图以降低文件大小.问题是压缩后,它会丢失所有EXIF数据.我在检索原始EXIF数据时没有问题,但是,如何在压缩后将此EXIFF数据添加到字节数组中?

(我的猜测是取字节数组并创建一个位图,然后添加旧的EXIF数据,然后再添加到字节数组,但这是一个移动应用程序,我拍了很多图像,所以我不想浪费记忆)

这是我压缩位图并保存到字节数组输出流的代码:

myBitmapImage.compress(Bitmap.CompressFormat.JPEG, 75, outputstream);//Losing EXIF data here
byte[] ba = outputstream.toByteArray(); // How to add EXIF data here ?
Run Code Online (Sandbox Code Playgroud)

lif*_*son 0

我找到了一种方法,可以在位图压缩后保存 Exif 数据,因此如果有人遇到这篇文章,请将其发布在这里。

您可以使用 Apache 的 tiff 和 ExifTagConstants 导入将 EXIF 数据添加回字节数组图像:
org.apache.sanselan.formats.tiff.constants.TagInfo org.apache.sanselan.formats.tiff.constants.ExifTagConstants