1

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

1.
puts img.orientation
#TopLeftOrientation

2.
puts img.orientation
#UndefinedOrientation

我实际上如何比较价值。

如果我输入 img.orientation.inspect 我会得到一些值

TopLeftOrientation=1
UndefinedOrientation=0

我想得到 1 到 0 的值来执行我的逻辑,有没有办法?

此外,我在以下时间发现了一些资源 http://blog.choonkeat.com/weblog/2007/10/lesson-1-after-.html

img["EXIF:Orientation"] == "6"

它会旋转!(90)

但在我的情况下,我得到的图像是“6”,但它不需要旋转。有任何想法吗?

4

1 回答 1

2

您看到的数字与 EXIF 方向规范有关: http ://sylvana.net/jpegcrop/exif_orientation.html

这些直接映射到这些: http ://www.imagemagick.org/RMagick/doc/constants.html#OrientationType

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

有时 EXIF 数据完全是错误的。因此,也请谨慎对待,因为某些图像的 EXIF 数据可能存在缺陷。

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

于 2013-07-10T00:20:53.250 回答