JRuby+javax.imageioを使うか、Ruby+RMagickを使うか
画像読み込んでwidth, heightを出力対決
画像46枚で
JRuby+javax.imageio
#!/usr/bin/env jruby # -*- coding: utf-8 -*- require 'java' import 'java.lang.System' import 'javax.imageio.ImageIO' import 'java.awt.image.BufferedImage' start = Time.now ARGV.each{|name| begin img = ImageIO.read(java.io.File.new(name)) puts "#{name} => #{img.width}, #{img.height}" rescue puts "#{name} => error" end } puts Time.now-start
だいたい9〜10秒くらい。
java.io.FileをimportしてしまうとRubyのFileクラスと重複してしまうので、スクリプト中でフルパスで呼び出す方が良い。
RMagick
#!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'rubygems' require 'RMagick' include Magick start = Time.now ARGV.each{|name| begin img = Image.from_blob(File.read(name)).first puts "#{name} => #{img.rows}, #{img.columns}" rescue puts "#{name} => error" end } puts Time.now-start
3〜4秒
速い