3

假设我的图像不是直立的(我在窗口浏览器中打开它并且图像不是直立的),但是当我将它上传到某个服务器(例如 gmail、stackoverflow)时。图像变得直立。

我问这个问题是我正在用 html5 和 javascript 编写预览逻辑。我谈论的图像显示了我在窗口浏览器中看到的确切内容。只是想知道服务器是否做了一些技巧来调整方向?

窗口中显示的图像:

在此处输入图像描述

直接上传到栈溢出的图片:

在此处输入图像描述

4

3 回答 3

3

我猜你是在谈论你使用一个canvas元素生成或操作客户端的图像,然后将其呈现回img标签。正确的?

在服务器端,可以通过查看图像的 EXIF 方向标志来确定方向。可以使用jQuery fileExif 之类的库在客户端检查此标志。

于 2013-04-08T20:24:10.303 回答
2

如果您使用ImageInfo之类的脚本,您可以获取 EXIF 数据(如果图像有)。如果没有,您实际上无法知道它为什么会发生。可能是您正在使用的计算机上的一些“假”显示。一些图像管理器可能会保留原始旋转图像的副本。

EXIF 属性Orientation可能会根据图像的尺寸与方向的比较来告诉您图像是否已更改。

于 2013-04-08T20:23:13.297 回答
0

在服务器端:
您可以使用 Graphics Magic 之类的工具来正确地自动定位图像:http: //www.graphicsmagick.org/GraphicsMagick.html

gm.exe -convert -auto-orient MyImage.jpg MyImageCorrectOrientation.jpg
于 2014-07-24T09:19:22.743 回答