Ruby on rails Rmagik图像方向类型

Ruby on rails Rmagik图像方向类型,ruby-on-rails,ruby-on-rails-3,carrierwave,rmagick,Ruby On Rails,Ruby On Rails 3,Carrierwave,Rmagick,我正试图从图像中获取exif数据。 我试着把 1. puts img.orientation #TopLeftOrientation 2. puts img.orientation #UndefinedOrientation 我如何比较这个值 如果我把img.orientation.inspect 我得到了一些价值观 TopLeftOrientation=1 UndefinedOrientation=0 我想得到1到0的值,来执行我的逻辑,有办法吗 此外,我发现了一些资源 当: 它会旋转!

我正试图从图像中获取exif数据。 我试着把

1.
puts img.orientation
#TopLeftOrientation

2.
puts img.orientation
#UndefinedOrientation
我如何比较这个值

如果我把img.orientation.inspect 我得到了一些价值观

TopLeftOrientation=1
UndefinedOrientation=0
我想得到1到0的值,来执行我的逻辑,有办法吗

此外,我发现了一些资源 当:

它会旋转!(90)


但在我的例子中,我得到的图像是“6”,但它不需要旋转。有什么想法吗?

您看到的数字与EXIF方向规范有关:

这些直接映射到:

您可以简单地img.orientation.to_i来获取整数值,或者使用case语句根据上面链接中的常量来推导整数值

有时候EXIF数据完全是错误的。因此,也可以说,某些图像的EXIF数据可能存在缺陷

最后,我不确定它是否对你有用,但是有一个img.auto_-orient!这将根据EXIF数据自动将图像强制到正确的方向。

我建议不要使用带有
自动定向的“bang”(
)按钮。人们,像我一样,认为它将定位图像并保存它,但事实并非如此。调用
auto_orient
后,仍需保存图像。
img["EXIF:Orientation"] == "6"