スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

rubyで画像自動生成

以前gimpでヒーヒーいいながらホームページのバックの絵を描いたという話をしましたが、やっぱり色とかいじりたいので、自動化する方法を考えました。
で、rubyにRMagickというImageMagickをコントロールできるライブラリがあるということなので、調べて作ってみました。

インストールするものは、ImageMagickとRMagickです。Macportsとgemでインストールしました。ImageMagickは関連するライブラリが多いので、コンパイル時間に要注意です。3?4時間くらいかかりました。
sudo port install ImageMagick +no_x11
sudo gem install rmagick

ソースは以下の通りです。

require 'RMagick'
include Magick

def exec(width, height, color, postfix)
f = Image.new(width, height) {
self.background_color = "none"
}

d = Draw.new
d.stroke("none")
d.fill("white")
d.stroke_width(0)
d.fill_opacity(0.2)
d.stroke_opacity(0.2)
d.roundrectangle(10, 10, width - 10, height - 10, 10, 10)
d.draw(f)
f2 = f.crop(0, 50, width, 10)
f2.write("contents_#{postfix}.png")

d.stroke(color)
d.fill(color)
d.fill_opacity(1.0)
d.stroke_opacity(1.0)
d.roundrectangle(20, 20, width - 20, height - 20, 10, 10)
d.draw(f)
f2 = f.crop(0, 0, width, 80)
f2.write("header_#{postfix}.png")
f2 = f.crop(0, height - 50, width, 50)
f2.write("footer_#{postfix}.png")
end

exec(200, 200, "#ff0000", "1")


間違いなくgimpで絵を描くよりもプログラム作るほうが早かったです(笑)
スポンサーサイト

Tag : RMagick

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。