Saturday, March 15, 2008

ImageMagickで、花模様が回転するGIFアニメーションを生成する

花模様が回転するGIFアニメーションを生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12)*7)^2?#F8C749:#FFFFFF" f1.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+3pi/180*12)*7)^2?#F8C749:#FFFFFF" f2.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+6pi/180*12)*7)^2?#F8C749:#FFFFFF" f3.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+9pi/180*12)*7)^2?#F8C749:#FFFFFF" f4.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+12pi/180*12)*7)^2?#F8C749:#FFFFFF" f5.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+15pi/180*12)*7)^2?#F8C749:#FFFFFF" f6.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+18pi/180*12)*7)^2?#F8C749:#FFFFFF" f7.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+21pi/180*12)*7)^2?#F8C749:#FFFFFF" f8.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+24pi/180*12)*7)^2?#F8C749:#FFFFFF" f9.png

%im%\convert.exe -size 50x50 xc:white -fx "(25-i)^2+(25-j)^2)<=(18+sin(atan2(25-i,25-j)*12+27pi/180*12)*7)^2?#F8C749:#FFFFFF" f10.png

%im%\convert.exe -set delay 7 f1.png f2.png f3.png f4.png f5.png f6.png f7.png f8.png f9.png f10.png -loop 0 sample339.gif

上記バッチでは、少しずつ花模様を回転させた図形を複数のPNG画像として保存し、それらを まとめてanimation GIFとして出力しています。

出力画像(sample339.gif)


関連項目
ImageMagickで、半径が波型に変化する円を描画する

Friday, March 14, 2008

ImageMagickで、テレビのゴーストのような効果をつける

テレビのゴーストのような効果をつけるには、以下のバッチファイルを
実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
rem 二値化して切り取った白黒画像を半透明にします
%im%\convert.exe -size 300x225 tree1.jpg -threshold 50%% -negate -matte -fill #00000000 -transparent #000000ff ( tree1.jpg -fx "luminosity" ) -compose src_in -composite -channel a -fx "p>0?0.2:0" sample337a.png
rem 元画像と半透明の画像を重ね合わせてゴースト効果をつけます
%im%\convert.exe tree1.jpg sample337a.png -geometry +7+0 -composite sample337b.png

元画像(tree1.jpg)


中間画像(sample337a.png)


出力画像(sample337b.png)


2008/07/13追記
ver6.4.0あたりからluminosityからlightnessに変わったので、以下のバッチを実行します。
rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.4.2-Q16
rem 二値化して切り取った白黒画像を半透明にします
%im%\convert.exe -size 300x225 tree1.jpg -threshold 50%% -negate -matte -fill #00000000 -transparent #000000ff ( tree1.jpg -fx "lightness" ) -compose src_in -composite -channel a -fx "p>0?0.2:0" sample337a.png
rem 元画像と半透明の画像を重ね合わせてゴースト効果をつけます
%im%\convert.exe tree1.jpg sample337a.png -geometry +7+0 -composite sample337b.png

Thursday, March 13, 2008

ImageMagickで、アニメーションGIFの各フレームを連続した画像に変換する

アニメーションGIFの各フレームを連続した画像に変換するには、
以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sample62.gif -resize 40x40 -mattecolor #c0c0c0 -frame 1x2 +append sample336.png

上記バッチでは、アニメーションGIFの各フレームを40x40ピクセルの大きさに変換し、
色が灰色(#c0c0c0)の枠をつけ、各フレームを横方向に連結しています。

元画像(sample62.gif)


出力画像(sample336.png)

Wednesday, March 12, 2008

ImageMagickで、複数の画像を含んだPDFを生成する

複数の画像を含んだPDFを生成するには、以下のバッチファイルのように
-adjoinオプションを使用します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe sf.jpg sf2.jpg -adjoin sample334b.pdf

元画像1(sf.jpg)


元画像2(sf.jpg)


出力ファイル(sample334b.pdf)

Tuesday, March 11, 2008

ImageMagickで、画像に半透明角丸四角の枠をつける

画像に半透明角丸四角の枠をつけるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
rem 半透明角丸四角を描画して、サイズ変更した画像を重ね合わせ
%im%\convert.exe -size 120x120 xc:none -fill #C0C0C050 -stroke #E0E0E050 -draw "roundrectangle 0,0, 119,119,10,10" ( sf.jpg -resize 100x100 +repage ) -geometry +10+10 -composite sample334a.png
rem 重ねあわせ例
%im%\convert.exe sf2.jpg ( sample334a.png -virtual-pixel background -background none -rotate -10 ) -geometry +150+100 -composite sample334b.jpg

元画像(sf.jpg)


出力画像(sample334a.png)


重ね合わせ例(sample334b.jpg)


関連項目
ImageMagickとPHPで、画像に半透明角丸四角の枠をつける (Imagickによる同様の処理)
ImageMagickで画像に立体的な角丸四角の枠をつける
ImageMagickで画像にストライプ枠をつける

Monday, March 10, 2008

ImageMagickで単色のアイコンからボタンを生成する

単色のアイコンからボタンを生成するには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe -size 20x20 xc:none -fill gradient:#bbddff-#f0f5ff -stroke #ffffff -draw "ellipse 10,10,9,9,0,360" ( home.png -fill #77bbee -opaque #000000 ) -gravity center -geometry +1+0 -composite ( +clone -background #000000 -shadow 40x2+3+3 ) +swap -background white -mosaic sample333a.gif

元画像(home.png:黒色以外は透過色になっています。)


出力画像(sample333a.gif)

Sunday, March 09, 2008

ImageMagickで、写真に光が差し込んだような効果をつける

写真に上から光が差し込んだような効果をつけるには、以下のバッチファイルを実行します。

rem 環境によって変えてね
set im=C:\Progra~1\ImageMagick-6.3.8-Q16
%im%\convert.exe -size 220x10 plasma:fractal -fx "intensity" -gravity north -background #00000000 -extent 220x200 -matte -channel a -fx "0.5" -channel rgba -motion-blur 70x50+270 -shear 10x0 -crop 200x200+10+0 sf.jpg +swap -compose plus -composite sample332.png

元画像(sf.jpg)


出力画像(sample332.png)


関連項目
ImageMagickでランダムな筋がだんだん消えていく模様を生成する
RMagickで画像に光が差し込んだような効果をつける