Friday, June 08, 2007

ImageMagickで鏡面映り込みを作成する - その4

ImageMagickで鏡面映り込みを作成するには、以下のバッチを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
rem 右側を若干暗くなるようにグラデーション適用
%im%\convert.exe sample4.jpg -fx "p*(1-i/(w*4))" -bordercolor #c0c0c0 -border 1x1 -channel RGBA sample4t.png
rem 反転&グラデーションをかけて
%im%\convert.exe sample4t.png -fx "p*j/h*0.8" -flip sample4t2.png
rem 縦に連結+台形変形+傾け
%im%\convert.exe sample4t.png sample4t2.png -append -virtual-pixel background -background black -fx "p{i*1.1,(j*w-i*h*0.05)/(w-i*0.1)}" -background none -shear 0x350 -gravity center -extent 220x220 sample170a.jpg

元画像(sample4.jpg)


出力画像(sample170a.jpg)

ImageMagickで画像を丸型に切り取って点線が回転するGIFアニメーションを作成する

ImageMagickで画像を丸型に切り取って点線が回転するGIFアニメーションを作成するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 7 circle 50,50 50,3" f1.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 6 circle 50,50 50,3" f2.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 5 circle 50,50 50,3" f3.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 4 circle 50,50 50,3" f4.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 3 circle 50,50 50,3" f5.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 2 circle 50,50 50,3" f6.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 1 circle 50,50 50,3" f7.png
%im%\convert.exe -size 100x100 xc:none -fill white -draw "circle 50,50 50,2" sample3b.jpg -compose srcin -composite -strokewidth 2 -fill none -stroke #c0b49d -draw "stroke-dasharray 4,4 stroke-dashoffset 0 circle 50,50 50,3" f8.png
%im%\convert.exe -set delay 10 f1.png f2.png f3.png f4.png f5.png f6.png f7.png f8.png -loop 0 sample166.gif

元画像(sample3b.jpg)


出力画像(sample166.gif)


Tuesday, June 05, 2007

ImageMagickで画像を三角形・台形に変形する

ImageMagickで画像を三角形・台形に変形するには、
以下のバッチを実行します。

元画像(sample8.jpg)



rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.4-Q16
rem 右三角%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-i*h*0.5)/(w-i)}" sample169a.png


出力画像(sample169a.png)





rem 右台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-i*h*0.25)/(w-i*0.5)}" sample169b.png

出力画像(sample169b.png)





rem 左三角
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-(w-i)*h*0.5)/(i+1)}" sample169c.png

出力画像(sample169c.png)





rem 左台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{i,(j*w-(w-i)*h*0.25)/((w+i)*0.5)}" sample169d.png

出力画像(sample169d.png)






rem 下三角
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-j*w*0.5)/(h-j),j}" sample169e.png

出力画像(sample169e.png)






rem 下台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-j*w*0.25)/(h-j*0.5),j}" sample169f.png

出力画像(sample169f.png)


rem 上三角
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-(h-j)*w*0.5)/(j+1),j}" sample169g.png

出力画像(sample169g.png)


rem 上台形
%im%\convert.exe sample8.jpg -virtual-pixel background -background white -fx "p{(i*h-(h-j)*w*0.25)/((h+j)*0.5),j}" sample169h.png

出力画像(sample169d.png)


関連項目
ImageMagickで台形変形を行う