Java 设法设置了setAttribute(ExifInterface.TAG_ORIENTATION,…),但不确定如何查看更改?

Java 设法设置了setAttribute(ExifInterface.TAG_ORIENTATION,…),但不确定如何查看更改?,java,android,android-layout,layout,Java,Android,Android Layout,Layout,我的机器人 我的应用程序拍摄人像照片 在画廊里我看到了,好吗 但当保存到我的服务器时,我可以在横向视图中看到它 (这只发生在Samsun S2上) 我读过它可能与exif标签有关 我已经检查了我的图像文件并得到了 方向旋转90 这是什么意思 我已尝试将其设置为ORIENTATION\u NORAML或ORIENTATION\u UNDEFINED,但我不确定如何查看更改 在照片库中,我只在风景中看到它 (无论是纵向拍摄还是横向拍摄) 在正确读取新属性时,我成功地设置了属性 但我如何看待这种变化?

我的机器人

我的应用程序拍摄人像照片

在画廊里我看到了,好吗

但当保存到我的服务器时,我可以在横向视图中看到它

(这只发生在Samsun S2上)

我读过它可能与exif标签有关

我已经检查了我的图像文件并得到了

方向旋转90

这是什么意思

我已尝试将其设置为
ORIENTATION\u NORAML
ORIENTATION\u UNDEFINED
,但我不确定如何查看更改

在照片库中,我只在风景中看到它 (无论是纵向拍摄还是横向拍摄)

在正确读取新属性时,我成功地设置了属性

但我如何看待这种变化?这对我原来的问题有帮助吗

      ExifInterface exif;
        try {
          exif = new ExifInterface(imageFilename);
          int orientation =
              exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
          exif.setAttribute(ExifInterface.TAG_ORIENTATION,
              String.valueOf(ExifInterface.ORIENTATION_ROTATE_270));
//also tried ExifInterface.ORIENTATION_ROTATE_UNDEFINED)
          exif.saveAttributes();
          orientation =
              exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
          boolean b = orientation == Configuration.ORIENTATION_LANDSCAPE;

        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
我怎样才能解决这个问题

为什么仅仅更改exif标记是不够的?如果更改exif标记没有任何作用-为什么除了旋转之外还需要更改它

我的应用程序拍摄人像照片。在图库中,我可以看到它,但当保存到我的服务器时,我可以在横向视图中看到它

这是因为您的服务器忽略了EXIF头

(这只发生在Samsun S2上)

它发生在比这更多的设备上。这是我为开发人员修补的许多东西之一

我检查了我的图像文件,得到了
方向\u旋转\u 90
这是什么意思

这是一条从相机发送到图像查看应用程序的信息,上面写着“请在显示时将其旋转90度!kthxbye”

我尝试将其设置为ORIENTATION\u NORAML或ORIENTATION\u UNDEFINED,但我不确定如何看到更改


如果你什么都不做的话,那只会导致你的形象到处都是错误的。除了处理EXIF标记外,您还需要旋转图像文件。

mega谢谢,但是如果您不做其他操作,为什么您会说
所有这些操作都会导致图像到处出错
?为什么仅仅更改exif标记是不够的?如果更改exif标记没有任何作用-为什么除了旋转之外还需要更改它?@EladBenda:“为什么更改exif标记还不够?”-因为它不会更改位图。您将在服务器上看到无处不在的行为(忽略EXIF标记),因为您正在阻止使用EXIF标记的图像工具这样做。“除了旋转之外,为什么还需要对其进行更改?”——因为这样一来,使用EXIF标记的图像工具将再次旋转图像,这将是错误的。