繁体   English   中英

摩托罗拉Droid上的Android图像方向问题

[英]Android Image Orientation Issue on Motorola Droid

我们的应用使用图库选择操作从设备中抓取图像,然后上传到新的博客文章中。 我们在Moto Droid上看到,以纵向拍摄的图像将以横向方向发送回应用程序,因此图像是横向的。 AFAIK仅在Droid上发生。

通过Google找到了此图片,但我们需要以正确的方向上传完整尺寸的图片,因此该解决方案不适用于我们:

http://groups.google.com/group/android-developers/browse_frm/thread/1246475fd4c3fdb6?pli=1

一种简单的重现方法是在Droid上拍摄肖像照片,然后通过Gmail发送给自己。 在电子邮件中,图像将为横向(横向)。 我已经对droid 2.1更新进行了测试,但问题仍然存在。

这是更多信息:

我偷看了Photoshop中的图像信息,它的内容如下:

<tiff:Orientation>1</tiff:Orientation>

该规范( http://www.awaresystems.be/imaging/tiff/tifftags/orientation.html )表示1的值是:

1 =第0行代表图像的视觉上端,第0列代表视觉的左手边。

在这种情况下,那不正确吗? 在我的情况下,图像的顶部是右侧,第0行是左侧,我认为tiff方向的值应为'5'。

我认为这可能是带有EXIF标签的服务器代码中的错误。 如您所述,在带有2.1的Droid上,我以人像模式拍摄了一张照片,并调查了保存的结果(例如,通过电子邮件发送给自己)。 在“预览”中打开文件(在Mac上),看起来正确。

使用方便的exif工具(在Mac上为port install exif ),我可以打印EXIF信息:

$ exif -t Orientation image.jpg 
EXIF entry 'Orientation' (0x112, 'Orientation') exists in IFD '0':
Tag: 0x112 ('Orientation')
  Format: 3 ('Short')
  Components: 1
  Size: 2
  Value: right - top

现在,如果您要删除EXIF信息,那么服务器/客户端通信中可能正在发生这种情况:

$ exif --ifd=0 --tag=Orientation --set-value= -o image2.jpg image.jpg 
Wrote file 'image2.jpg'.

$ exif -t Orientation image2.jpg 
EXIF entry 'Orientation' (0x112, 'Orientation') exists in IFD '0':
Tag: 0x112 ('Orientation')
  Format: 3 ('Short')
  Components: 1
  Size: 2
  Value: 

生成的图像将处于横向模式。

因此,最重要的是, 我认为Droid总是始终横向存储图像中的位,并依靠EXIF元数据存储旋转信息(这是完全有效的),并且您的应用可能会丢弃此信息

希望有帮助! 随时发表评论或编辑原始问题以进一步解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM