android - Android中位图压缩后如何保存Exif数据

标签 android exif android-camera-intent android-bitmap

用相机 Intent 拍照后,我压缩位图以减小文件大小。问题是压缩后,它会丢失所有 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 ?

最佳答案

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

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

关于android - Android中位图压缩后如何保存Exif数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23762133/

相关文章:

android - 使用他们的 Google 帐户注册/登录用户?

php - 是否可以在图像中保存元数据?

android - 设置相机拍摄图像的分辨率

android - 如何防止滚动事件被 PopupWindow 拦截

android - SyncAdapter 不会自动同步

Android - 在特定时间后更改背景颜色

Android Camera Intent 创建两个文件

javascript - 如何从 Canvas 中加载的图像中提取图像方向信息

android - 在 onPictureTaken 和 write() 之间更改 "Exif"数据?

android - 临时存储的相机 Intent