ローカル環境にある大量にある画像の情報を取得してみたくて、どうしようかと悩み、RMagickを使うことにしたときのメモです。
他のライブラリについて
結論から言うと、ImageMagick + RMagickというRubyライブラリを使うことで問題は解決したのですが、そこにたどり着くまでの経緯をメモしておきます。
まず、検討している作業環境はWindowsなのですが、Rubyをかまして処理したくて、あれこれとライブラリを検討してみました。
最初に悩んだのはライブラリ。画像処理ライブラリをあれこれ探してみたら、だいたいがLinux系のライブラリの情報が見つかります。それに惑わされ、imlib2、GDという2つのライブラリを入れようとしていましたが、どうにもその後のrubyライブラリを入れるところで躓き、なかなか環境が構築できませんでした。
Windowsインストーラが素晴らしいImageMagick
最後に試したのがImageMagick。
これはWindows版のインストーラもきちんとあり、DLLも配置してパスまで通してくれるので、これが一番でした。
インストーラも上記サイトで公開されているのですが、Ruby(RMagick)で使いたい人はダウンロードをちょっと待ってください。
RMagickサイコー!
私の場合Rubyで処理をしたくて、次に悩んだのが、RubyのImageMagickラッパーライブラリの選択。
gemで探してみるといくつか見つかりますが、最初に試したのがquick_magick。しかし、動作がおかしくてあきらめました。
次に試したのが、RMagick。
まず、Windows版のインストーラですが、このページの下部の「rmagick-win32」というところにあります。
「RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip」というファイルをダウンロードすると、その中にWindows版のImageMagickのインストーラも入っています。
このバージョンでしか整合性がとれないよ、ということなのですが、こうしてインストーラまで含めておいてもらえると助かりますね!この気配りは、他のライブラリではあまり見たことない形式だったのでちょっとうれしかったです。
インストール手順ですが、そのImageMagickをインストールし、その後、下記のようなコマンドでファイルに含まれているgemファイルを実行して、RMagickをインストールします。
gem install rmagick-2.12.0-x86-mswin32.gem
RMagickのサンプルコード
画像を読み込み、その縦横サイズを出力するサンプルコードを載せておきます。
[ruby]
require ‘RMagick’
include Magick # ライブラリの初期化.
filename=”C:/test/ruby/test.png”
i = Image.read(filename).first
print filename+”:["+i.columns.to_s+"x"+i.rows.to_s+"]”
[/ruby]
RMagickのHTMLヘルプ
RMagickのライブラリリファレンスですが、微妙に見にくかったりするので、2nd lifeさんがつくられたHTMLヘルプ(.chm)が便利です。3年前のモノですが、私のようなRMagick初心者には十分使えるものとなっています。
[AD]
↓日本語の解説書。
著者/訳者:クーガー株式会社 石井 敦
出版社:インプレスジャパン( 2008-11-28 )
定価:¥ 3,780
Amazon価格:¥ 3,780
大型本 ( 308 ページ )
ISBN-10 : 4844326473
ISBN-13 : 9784844326472
↓洋書ですが、良さそうな雰囲気。
Imagemagick Tricks: Web Image Effects from the Command Line And Php
著者/訳者:Sohail Salehi
出版社:Packt Publishing( 2006-06-30 )
定価:¥ 2,805
Amazon価格:¥ 3,020
ペーパーバック ( 232 ページ )
ISBN-10 : 1904811868
ISBN-13 : 9781904811862






