Thursday, February 15, 2007

ImageMagickで画像を角丸四角に切り取って端折処理する

ImageMagickで画像を角丸に切り取って端折処理するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.1-Q16
rem マスクを作って
%im%\convert.exe -size 40x40 xc:none -matte -channel RGBA -fill #ffffffff -draw "roundrectangle 0,0 60,60 20,20" -fx "(i+j)>40?0:u" mask.png
rem グラデーションを作って
%im%\convert.exe -size 60x60 gradient:#ffffff-#d0d0d0 -rotate -45 -crop 40x40+20+20 grad1.png
rem 重ね合わせ+厚み表現のための線を描画
%im%\convert.exe -size 40x40 grad1.png mask.png -compose dst_in -composite -stroke #ffffffff -fill none -draw "roundrectangle 0,0 60,60 20,20" dogear.png
rem 角丸四角切り取りのためのマスク
%im%\convert.exe -size 200x150 -matte -channel RGBA xc:none -background none -fill white -stroke white -draw "roundrectangle 0,0 199,149 20,20" mask2.png
rem 角丸四角切り取り
%im%\convert.exe -size 200x150 sample1.jpg -matte mask2.png -compose dst_in -composite clipped.png
rem 角丸四角から右下を削って折り曲がった部分を重ねる
%im%\convert.exe -size 200x150 clipped.png -matte -channel RGBA -fx "(i+j)>(180+130)?0:u" dogear.png -geometry +160+110 -compose atop -composite sample77a.gif
rem ついでに影つけ
%im%\convert.exe -size 200x150 xc:white sample77a.gif ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -mosaic sample77b.jpg

元画像(sample1.jpg)


出力画像(sample77b.jpg)

No comments: