require 'RMagick'
include Magick
images = ImageList.new("sf2.jpg")
images.alpha = ActivateAlphaChannel
# 角丸四角を描画
images2 = ImageList.new
images2.new_image(40, 40){
self.background_color = "none"
}
dr = Draw.new
dr.fill = "white"
dr.roundrectangle(2,2, 37,37, 4,4)
dr.draw(images2)
# タイル上に配置
images3 = ImageList.new
images3.new_image(images.columns, images.rows,
TextureFill.new(images2))
images3.alpha = ActivateAlphaChannel
# 切り取り
img = images.composite(images3, 0, 0,
DstInCompositeOp).modulate(1.4)
img.colorspace = GRAYColorspace
img = img.colorize(0.5, 0.5, 0.5, "#fad759")
# 立体的にする
img2 = images3.shade(true, 135, 23).
blur_channel(0,2,AllChannels).normalize()
img4 = img2.composite(img, 0, 0,
OverlayCompositeOp)
img4.write("sample997a.png")
exit
元画像(sf2.jpg)
出力画像(sample997a.png)
動作環境
ruby1.8.6, rmagick2.9.0
関連項目
ImageMagickで画像から立体的なタイル画像に変換する (convertコマンドによる同様の処理)
RMagickで画像を角丸四角に切り取って立体的にする