Tuesday, May 05, 2009

RMagickで画像を円形に切り取って周囲を磨りガラスのようにする

RMagickで画像を円形に切り取って周囲を磨りガラスのようにするには、以下のコードを実行します。


require 'RMagick'
include Magick

images = ImageList.new("sf.jpg")
images.alpha = ActivateAlphaChannel
images.new_image(images.columns, images.rows){
self.background_color = "none"
}
dr = Draw.new
dr.fill = "white"
dr.ellipse(images.columns/2, images.rows/2,
images.columns*0.8/2, images.rows*0.8/2,
0, 360)
dr.draw(images);
images[images.size-1] = images.negate_channel(
grayscale=false,AllChannels).
blur_channel(0,10,AllChannels).spread(3)
images.first.composite(images.last, 0, 0,
OverCompositeOp).write("sample995a.png")

exit


元画像(sf.jpg)


出力画像(sample995a.png)
RMagickで円形に切り取って周囲を磨りガラスのようにした画像

動作環境
ruby1.8.6, rmagick2.9.0

関連項目
ImageMagickで画像を磨りガラスのように切り取る (convertコマンドによる同様の処理)

No comments: