ImageMagickをラップするSimpleMagickっていう薄いライブラリを作った
なぜか
MiniMagickが遅すぎたのだった。
MiniMagickはナウなヤングが使うイケテルツールとのことだったのだけど、コマンドにオプションを渡す度に mogrify
コマンドを実行するため、でかい画像であればあるほど、前処理の為に時間が掛かる。まー初回にresizeを噛ませばちょっとはましになるところだけど、それにしても毎回実行してほしくない感じなのだった。
で、作ったのがこれ
使い方はREADMEにある通りだけど、こんな感じ。
require 'simple_magick' if SimpleMagick.imagemagick_installed? image = SimpleMagick::Image.new('/path/to/src_image.jpg') image.resize '150x150' image.convert! '/path/to/dest_image.jpg' end
実行するには ImageMagick 自体がインストールしてある必要がある(mogrify
を直接実行しているため)。
ベンチマークを取ると、ひとまずMiniMagickよりは早いことがわかる(これもREADMEに書いてある)。サンプルで使う画像次第で、如実に結果は変わるんだけど、自分が必要に迫られている現実ではもっと大きな差が出た(というか、ちょっと実用に耐えられなかったので自分で作ったのだけど)。
% bundle exec ruby benchmark.rb user system total real simple_magick 0.080000 0.270000 28.530000 ( 29.687068) mini_magick 0.410000 0.790000 31.300000 ( 37.115507) ImageMagick 0.030000 0.170000 28.620000 ( 29.094316)
どうしても書かなくてはいけない宣伝
ぼくも一部執筆をした書籍が発売されます!!ジュンク堂等で先行発売しているところもあるようですが、3/11が正式な発売日です。
Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)
- 作者: 和田裕介,石田絢一(uzulla),すがわらまさのり,斎藤祐一郎
- 出版社/メーカー: 技術評論社
- 発売日: 2014/03/11
- メディア: 大型本
- この商品を含むブログ (2件) を見る
内容に関しては、献本しがいのある素晴らしい感想が書かれているエントリを見て頂ければ良いかなと思います。
出版記念イベントがあります!!!
電話で予約するという高難度イベントですが、まだ席に空きはあるそうなので、もしお時間があればぜひ。 - https://www.junkudo.co.jp/mj/store/event_detail.php?fair_id=4314