我一直在尝试使用sanselan库来安装android来正确更新我的图像旋转数据,但我无法让它工作。我想知道这里是否有人让这个工作。我整天都在检查类似问题的答案,但似乎没有任何工作。在Galaxy s3和motorola razor m上,由于某些原因,我总是在图片中嵌入景观旋转。我已经在我分配给我的相机的参数中设置了旋转属性,但是它仍然无法正常工作。有没有人对他们如何成功手动更新Android中的图像中的Exif数据有任何想法,链接或示例?
答案 0 :(得分:2)
某些设备(如Galaxy S3,Note2)会显示旋转的图像。要正确获取图像 按照以下步骤进行操作:
如果我看得很清楚,您的问题就出现在第2步。如果您尝试更新exif方向,Sanselan将复制方向属性。首先,您必须删除方向值,然后添加值。我已经这样做了:
List<?> sourceDirectories = outputSet.getDirectories();
for (int i = 0; i < sourceDirectories.size(); i++) {
TiffOutputDirectory sourceDirectory = (TiffOutputDirectory) sourceDirectories.get(i);
List<?> sourceFields = sourceDirectory.getFields();
for (int j = 0; j < sourceFields.size(); j++) {
TiffOutputField sourceField = (TiffOutputField) sourceFields.get(j);
if (sourceField.tagInfo.name.equals("Orientation")) {
sourceDirectory.removeField(sourceField.tagInfo);
}
}
}
TiffOutputDirectory tiffDirectory = outputSet.getExifDirectory();
TiffOutputField orientationField = TiffOutputField.create(TiffConstants.EXIF_TAG_ORIENTATION, outputSet.byteOrder, 1);
tiffDirectory.add(orientationField);