图像在 PC 上和通过输入类型文件的不同旋转

Different rotation of image on PC and through input type file

图片是 jpeg 格式,它在我的电脑上显示正常(我使用的是 Ubuntu),但是当我尝试通过 <input type="file"... 上传它时浏览它,它显示为向右旋转 90 度。 我的应用程序中有部分代码根据 EXIF.getTag(this, 'Orientation') 参数旋转图像,在这种情况下它返回数字 8,这意味着图像应该向左旋转 90 度,即使它不应该(因为它是已在 PC 上旋转)。

这是什么原因造成的?

编辑:

我找到了包含 exif 参数的图像 here。因此,一旦我使用提供的 link 下载它们,它们就会在 PC 上正确显示,但在上传时会旋转。

有两个主要的元数据标签用于指定图像方向:

Orientation: [TopLeft, BottomRight, RightTop, LeftBottom]

exif:Orientation: [1, 3, 6, 8]

我怀疑您的图片是由使用 exif:Orientation 元标记的设备拍摄的。 Ubuntu 默认图像查看器支持 exif:Orientation,因此它可以正确显示图像。但是,浏览器不支持此标记(出于向后兼容性原因),它们必须回退到默认方向,在您的情况下向右旋转 90 度。

您可以通过使用 Orientation 元标记补充您的图像来解决您的问题。大多数图像查看软件都可以通过简单地旋转图像并将其保存在适当的位置来完成(在 Ubuntu 中,您会看到图像正确旋转,因此只需向任何方向旋转并旋转回来并保存)。