我正在尝试从ruby-vips Gem中获取图像EXIF数据,但我不断收到错误。我找到了其他试图修复此问题的人的文档,并且我尝试了解决方案而没有成功。
i=VIPS::Image.new("/home/eric/Pictures/golden-clouds-wallpaper.jpg")
i.get("exif-Orientation")
i.get("exif-ifd0-Orientation")
都给出错误:
VIPS error: vips_image_get: field "exif-Orientation" not found
VIPS error: vips_image_get: field "exif-ifd0-Orientation" not found
ubuntu版本13.10
VIPS版本7.28.5
ruby-vips 0.3.7
编辑
2.1.0 :001 > require 'rubygems' => false
2.1.0 :002 > require 'vips' => true
2.1.0 :003 > a = VIPS::Image.new('/home/eric/Pictures/devProfile.JPG') => #<VIPS::Image:0x00000001e4d7b0>
2.1.0 :004 > a.get("exif-Orientation")
VIPS::Error: VIPS error: vips_image_get: field "exif-Orientation" not found
from (irb):4:in `get'
from (irb):4
from /home/eric/.rvm/rubies/ruby-2.1.0/bin/irb:11:in `<main>'
安装VIP GUI,NIP2,然后尝试在其中加载JPEG图像。右键单击缩略图,选择标头,然后查看显示的字段。您应该在那里看到方向。
我有Ubuntu 13.10/vips-7.28.5/ruby-vips 0.3.7这里,我看到:
$ vips --version
vips-7.28.5-Sat Mar 9 18:46:42 UTC 2013
$ gem install ruby-vips
Fetching: ruby-vips-0.3.7.gem (100%)
Building native extensions. This could take a while...
Successfully installed ruby-vips-0.3.7
1 gem installed
Installing ri documentation for ruby-vips-0.3.7...
Installing RDoc documentation for ruby-vips-0.3.7...
$ irb
irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'vips'
=> true
irb(main):003:0> a = VIPS::Image.new("pics/img_2522.jpg")
=> #<VIPS::Image:0x00000001a0e528>
irb(main):004:0> a.get("exif-Orientation")
=> "1 (Top-left, Short, 1 components, 2 bytes)"
irb(main):005:0>