假设我的图像不是直立的(我在窗口浏览器中打开它并且图像不是直立的),但是当我将它上传到某个服务器(例如 gmail、stackoverflow)时。图像变得直立。
我问这个问题是我正在用 html5 和 javascript 编写预览逻辑。我谈论的图像显示了我在窗口浏览器中看到的确切内容。只是想知道服务器是否做了一些技巧来调整方向?
窗口中显示的图像:
直接上传到栈溢出的图片:
假设我的图像不是直立的(我在窗口浏览器中打开它并且图像不是直立的),但是当我将它上传到某个服务器(例如 gmail、stackoverflow)时。图像变得直立。
我问这个问题是我正在用 html5 和 javascript 编写预览逻辑。我谈论的图像显示了我在窗口浏览器中看到的确切内容。只是想知道服务器是否做了一些技巧来调整方向?
窗口中显示的图像:
直接上传到栈溢出的图片:
我猜你是在谈论你使用一个canvas
元素生成或操作客户端的图像,然后将其呈现回img
标签。正确的?
在服务器端,可以通过查看图像的 EXIF 方向标志来确定方向。可以使用jQuery fileExif 之类的库在客户端检查此标志。
如果您使用ImageInfo之类的脚本,您可以获取 EXIF 数据(如果图像有)。如果没有,您实际上无法知道它为什么会发生。可能是您正在使用的计算机上的一些“假”显示。一些图像管理器可能会保留原始旋转图像的副本。
EXIF 属性Orientation
可能会根据图像的尺寸与方向的比较来告诉您图像是否已更改。
在服务器端:
您可以使用 Graphics Magic 之类的工具来正确地自动定位图像:http: //www.graphicsmagick.org/GraphicsMagick.html
gm.exe -convert -auto-orient MyImage.jpg MyImageCorrectOrientation.jpg