【发布时间】:2011-06-15 13:46:46
【问题描述】:
在 Android 中,当从手机上的照片中解码位图时,原始中的 EXIF 数据会丢失。我正在通过套接字将此Bitmap 发送到我的服务器,并希望将丢失的 EXIF 数据重新附加到正在发送的数据中。
我有一些代码从MediaStore 加载Bitmap 对象并将其压缩为字节数组以准备通过套接字发送:
Bitmap bitmap = ...
ByteArrayOutputStream stream = new ByteArrayOutputStream(bitmap);
bitmap.compress(CompressFormat.JPEG, 70, stream);
byte[] input = stream.toByteArray();
我想使用ExifInterface 来获取 SD 卡上原始 jpeg 中的 EXIF 元数据,并以某种方式将其添加到传出字节数组中,以便我能够提取包含所有在服务器端正确的 EXIF(希望不在服务器上这样做)。到目前为止,我设法使用ExifInterface 读取所有 EXIF 数据:
String path = ... //bitmap file path
ExifInterface exif = new ExifInterface(path);
... = exif.getAttribute(...)
编辑:最理想的情况是,我想找到一个不使用库的解决方案。如果我可以获取包含 EXIF 的原始 jpeg 字节数组的索引,并将这些字节添加/附加到bitmap.compress(...) 生成的字节数组中,那将是最好的。
【问题讨论】:
-
向字节数组添加exif信息成功了吗?