1

我正在使用 Filepicker 上传图片,有时上传的图片会旋转大约 90°。

我不知道这是一个已知问题还是只是我这边的问题,但有什么办法可以避免这种行为?

编辑: 我刚刚发现图像保存正确,但显示不正确 - 旋转。我正在以这种方式加载图像:

= image_tag main_img.file_url, :alt => @photo.title, :title => @photo.title, :style => 'width: 200px; border: 1px solid #000;'

我究竟做错了什么?为什么图像显示为“扭曲”且位置不正确?

4

3 回答 3

4

这种行为的原因是,图片可以在 EXIF 数据中包含旋转信息。
这意味着,如果照片是用智能手机纵向拍摄的,它可能会以横向存储并标记为“旋转 90°”。它现在取决于显示程序,是否将图像旋转回来。

大多数图像处理程序都会进行旋转,而大多数浏览器则不会。

避免这种行为的唯一方法是根据 EXIF 数据中的旋转信息重新计算图像。
您可以使用 imagemagick、exiftran 或 jhead 来实现这一点,请参阅https://superuser.com/a/38860

于 2013-10-04T10:57:48.790 回答
3

我发现通过将上传图像的文件格式从“jpg”更改为不包含 exif 元数据(如“png”)的格式,我可以消除这个旋转问题。在我的情况下工作,使用 Filepicker 的 API,这使得在图像的 URL 中非破坏性地更改文件格式变得非常简单。

于 2015-06-09T00:29:03.950 回答
0

使用转换并添加 rotate="exif" 以保持图像的 EXIF 数据中编码的旋转。

https://developers.filepicker.io/docs/web/rest/#blob-imageshttps://developers.filepicker.io/docs/web/javascript_api/#convert

于 2014-10-25T02:42:25.887 回答