とりあえず
ImageMagickとRMagickをインスコしないと話にならない。
Rubyは以前に入れた気がする
One-Click Installer - Windows
http://rubyforge.org/frs/?group_id=167&release_id=10461
ruby186-25.exe
こいつはrubygemsも一緒に入るみたい。
まずはImageMagick このあたり?
http://www.imagemagick.net/www/download.html
なんかたくさんファイルがありますね・・
http://tokyo.atso-net.jp/pukiwiki/?ImageMagick
によると、
-------------------------------------------------------------
ここでQ8とQ16は,1チャネルのビット数を表し,たとえばQ8ではRGBそれぞれ8bitで扱う
通常の画像であればこれで全く問題ないが、
PPMなどで48bit画像を使う場合などはQ16を使用する。
またdllとstaticの違いは単にリンク方法が違うだけなので,特に理由がなければdllでかまわない.
-------------------------------------------------------------
らしいので
迷わず最新バージョンぽい
ImageMagick-6.3.4-3-Q8-windows-dll.exe
を落としてくる。
次はRMagickですね
http://rubyforge.org/frs/?group_id=12&release_id=8170
・・・
RMagick-1.14.1_IM-6.3.0-7-Q8.zip
rmagick-win32-1.13.0_IM-6.2.9-3.zip
rmagick-1.13.0-IM-6.2.9-0-win32.zip
なんかよく分からんな・・IMって何だよ
とりあえず一番上の
RMagick-1.14.1_IM-6.3.0-7-Q8.zip
を落としてみる。
zipなので開いてみると
rmagick-1.14.1-win32.gem
ImageMagick-6.3.0-7-Q8-windows-dll.exe
他
が入ってた。
ImageMagickの古いのが入ってるよ ギャハハ(AA省略
簡単だなぁと思いながら とりあえず動くのか確認してみる。
require 'RMagick'
img = Magick::ImageList.new("c:\xxx\moko1.jpg")
img.write("c:\xxx\moko2.jpg")
思い出せないがこんな感じのソースだった気がする(ごめんもう覚えてない
実行すると
なんかエラー(覚えてないごめん)何か見つかりませんとか言ってる。
なんとなくピーンと来たのでインスコやりなおし。
プロンプト
>gem uninstall rmagick
プログラムの削除からImageMagicアンインスコ。
んで、RMagickに同梱されてた
ImageMagick-6.3.0-7-Q8-windows-dll.exe
を入れてみる。手順は一緒。
そのあと一応再起動してから
RMagickも入れる。
・・動いたー!
require 'RMagick'
img = Magick::ImageList.new('c:\20070529_1.jpg')
#サイズ取得
puts img.columns
puts img.rows
#拡大縮小
img2 = img.resize(90, 60)
#縦横比維持のまま拡大縮小(収まるサイズで)
img3 = img.resize_to_fit(200, 300)
img4 = img.resize_to_fit(400, 100)
#画像回転
img5 = img.rotate(90)
#ロール
img6 = img.roll(30, 40)
#倍画像
img7 = img.scale(2)
img8 = img.scale(0.5)
#波
img9 = img.wave(amplitude=25.0, wavelength=150.0)
#文字を書く?
img10 = img.clone
gc = Magick::Draw.new
gc.annotate(img10, 0, 0, 0, -5, "moko") do
gc.gravity = Magick::SouthEastGravity #場所
# gc.font_family = "Times" #フォント指定?
# gc.font = "Times" #フォント指定?
gc.pointsize = 32 #フォントサイズ
gc.fill = "black" #文字色
gc.stroke = "white" #縁取りの色
end
#100x100の赤い画像新規作成
img11 = Magick::Image.new(100,100){self.background_color = "red"}
#画像保存
img2.write('c:\20070529_2.jpg')
img3.write('c:\20070529_3.jpg')
img4.write('c:\20070529_4.jpg')
img5.write('c:\20070529_5.jpg')
img6.write('c:\20070529_6.jpg')
img7.write('c:\20070529_7.jpg')
img8.write('c:\20070529_8.jpg')
img9.write('c:\20070529_9.jpg')
img10.write('c:\20070529_10.jpg')
img11.write('c:\20070529_11.jpg')