【发布时间】:2014-09-04 02:39:51
【问题描述】:
我正在为 custom android 设备开发应用程序。它仍处于开发初期,相机可能会在物理上旋转 90 度到设备的其余部分。这意味着对于拍摄的任何图像,纵向和横向之间都有很大的混淆空间。出于这个原因,我希望绝对控制相机拍摄的任何图像中的 Exif 数据。相机参数中的纵向与横向信息可能不正确。出于这个原因,我希望能够在保存图像之前强制更改 onPictureTaken 中的 Exif 数据。这可能吗?如果可以,怎么做?
我正在苦苦挣扎,因为使用 exif 数据的示例似乎要么通过更改相机参数来工作,要么通过处理已保存的文件来工作 - 所以这要么太早要么太晚!
public void onPictureTaken(byte[] jpg_data, Camera camera)
{
// can I change exif data here?
try
{
FileOutputStream buf = new FileOutputStream(filename);
buf.write(jpg_data);
//... etc.
编辑:也许我在这里误解了一些东西......是否有 Exif 数据已经包含在传递给 onPictureTaken 的 jpg_data 中?还是随意添加?
【问题讨论】:
-
这正是更改
data的正确位置。你尝试了多少 exif 类? -
请原谅我的无知,但我什至不确定您所说的“exif 类”是什么意思。似乎有一个名为“exifinterface”的类,但它似乎需要一个 file 来构建,所以我假设它是一组在文件已经创建后对其进行操作的方法。
-
所以你只尝试了ExifInterface。您没有尝试其他课程。还有其他课程吗?
-
是的,Exif 数据已经包含在传递给 onPictureTaken 的 jpg_data 中