Friday, March 13, 2009

RMagickで画像を手でちぎったように切り取る

RMagickで画像を手でちぎったように切り取るには、以下のコードを実行します。

require 'RMagick'
include Magick

# 余白
px = 10
py = 10

images = ImageList.new("sf.jpg")
images.alpha = ActivateAlphaChannel
# マスク作成
images2 = ImageList.new
images2.new_image(images.columns, images.rows){
self.background_color = "none"
}
dr = Draw.new
dr.fill = "white"
dr.rectangle(px, py, images2.columns-px, images2.rows-py)
dr.draw(images2);
images2[0] = images2.spread(5).median_filter(3)
# マスク画像で切り取り
images.composite(images2, 0, 0, DstInCompositeOp).write("sample914a.png")

exit

元画像(sf.jpg)


出力画像(sample914a.png)


動作環境
ruby1.8.6, rmagick2.7.1

関連項目
ImageMagickで手で切り取ったように不規則に画像を切り取る (convertコマンドでの同様の処理)

No comments: