Monday, October 06, 2008

Rmagickで画像の端がかすれたように処理する

Rmagickで画像の端がかすれたように処理するには、以下のコードを実行します。

require 'RMagick'
include Magick

# 余白
px = 10
py = 10
# 画像読み込み
images = ImageList.new("sf2.jpg")
# マスク作成
mask = Image.new(images[0].columns, images[0].rows){
self.background_color = "none"
}
idr = Draw.new
idr.rectangle(px, py, images[0].columns-1-px, images[0].rows-1-px)
idr.draw(mask);
mask = mask.spread(2);

# マスクを利用して切り取り
img2 = mask.composite(images[0], 0, 0, SrcInCompositeOp)

# 背景用画像
bg = Image.new(images[0].columns, images[0].rows){
self.background_color = "white"
}
img3 = bg.composite(img2, CenterGravity, 0, 0, OverCompositeOp);
img3.write("sample643a.png")

exit

元画像(sf2.jpg)


出力画像()


動作環境
ruby1.8.6-26/RMagick-2.3.0-ImageMagick-6.4.0-2-Q8

関連項目

No comments: