RMagickをインストールした。

同僚がPythonのPILで遊んでいて楽しそうだったので、
Rubyでも画像処理したい!と思いRmagickをインストールしてみました。

macでは、以下のコマンドでサクっとインストール

$ sudo port install ImageMagick
$ sudo gem install RMagick

適当な画像をリサイズし動作確認

require 'rubygems'
require 'RMagick'
 
cat = Magick::ImageList.new('ho.jpg')
cat.resize(0.1).display
exit

リサイズされた画像が表示されました。

で、つまづいたのがWindows
とりあえず、ImageMagickをインストールと思いhttp://www.imagemagick.org/script/index.phpより最新版をダウンロードしインストール。
続いてRmagick。RubyForgeよりrmagick-2.9.0-doc.tar.gzwをダウンロード、一向に落ちてこない。
しょうがないので、「RMagick-2.9.0-ImageMagick-6.4.8-6-Q8.zip mirror」でググったミラーからダウンロード

どうやらWindows版のRMagickはImageMagickのバージョンの整合がシビアらしくImageMagickが同梱されいた為、先にインストールしたImageMagickをアンインストール。ついてきたImageMagick-6.4.8-6-Q8-windows-dll.exeを実行
インストールできたら、以下のコマンドでrmagickをインストール

gem install rmagick-2.9.0-x86-mswin32.gem

これで、準備完了と思いmacと同じスクリプトを実行してみたのですが、なんかエラー

プロシージャエントリポイントtransparentPaintImageChroma がダイナミックリンクライブラリ CORE_RL_Magick_.dllから見つかりませんでした

ImageMagickが見えないのかな?とPATHを確認したりしてみたのですが問題なさそう。
(今考えると、DLLから・・・ってことだからDLLは見えてるわけでとんだお門違いですね。)

手詰まったのでGoogle先生に聞いてみたら、こちらにそのままズバリの記事を発見。
RMagickがVC++ 2008 でコンパイルされていることが問題とのことなので、Microsoft Visual C++ 2008 Redistributable Package (x86)をインストール
無事、動作確認ができました。

さて、これからがなにするかが問題だ。


About this entry