Saturday, January 17, 2009

RMagickで画像をグラデーションのかかった砂地ぽく加工する

RMagickで画像をグラデーションのかかった砂地ぽく加工するには、以下のコードを実行します。

require 'RMagick'
include Magick

# 画像をグラデーションのかかった砂地ぽく加工する
images = ImageList.new("sf2.jpg")
images[0] = images[0].blur_image(0, 1)
img2 = images.fx("p*0.7+rand()*0.3")
img2.colorspace = GRAYColorspace
img3 = img2.emboss(0, 1)

images2 = Image.read("gradient:#FFFF1050-#3070A050"){
self.size = img3.columns.to_s + "x" + img3.rows.to_s
}
img4 = img3.composite(images2[0], 0, 0, OverCompositeOp)
img4.write("sample752a.png")

exit

元画像(sf2.jpg)


出力画像(sample752a.png)


動作環境
ruby1.8.6, rmagick2.7.1

関連項目
ImageMagickで画像とグラデーションのかかった砂地を合成する (convertコマンドでの同様の処理)

No comments: