我正在使用Filepicker上传图片,有时候上传的图片会旋转大约90°。
我不知道这是一个已知问题还是仅在我这方面的问题,但是有什么方法可以避免这种行为吗?
修改 我刚刚发现图像保存正确,但显示不正确 - 旋转。 我正在以这种方式加载图像:
= image_tag main_img.file_url, :alt => @photo.title, :title => @photo.title, :style => 'width: 200px; border: 1px solid #000;'
我做错了什么?为什么图像显示为“扭曲”而不是正确位置?
答案 0 :(得分:4)
此行为的原因是,图片可以包含EXIF数据中的轮换信息 这意味着如果用智能手机以纵向拍摄照片,则可以横向存储并标记为“旋转90°”。 它现在取决于显示程序,是否将图像旋转回来。
大多数图像处理程序都进行旋转,大多数浏览器都没有。
避免此行为的唯一方法是重新计算与EXIF数据中的旋转信息相关的图像。
您可以使用imagemagick,exiftran或jhead来解决此问题,请参阅https://superuser.com/a/38860。
答案 1 :(得分:3)
我发现通过将上传图像的文件格式从“jpg”更改为不包含exif元数据(如“png”)的格式,我可以删除此轮换问题。在我的案例中,使用Filepicker的API,这使得在图像的URL中非破坏性地更改文件格式变得非常简单。
答案 2 :(得分:0)
使用转化并添加rotate =" exif"保持图像的EXIF数据中编码的旋转。
https://developers.filepicker.io/docs/web/rest/#blob-images 要么 https://developers.filepicker.io/docs/web/javascript_api/#convert