Sunday, May 04, 2008

ImageMagickで、2つの画像が交互にスクロールするアニメーションGIFを作成する

2つの画像が交互にスクロールするアニメーションGIFを作成するには、以下のバッチファイルを実行します。

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

%im%\convert.exe sample3b.jpg -enhance f0.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+10 +repage -enhance f1.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+20 +repage -enhance f2.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+30 +repage -enhance f3.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+40 +repage -enhance f4.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+50 +repage -enhance f5.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+60 +repage -enhance f6.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+70 +repage -enhance f7.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+80 +repage -enhance f8.png
%im%\convert.exe sample3b.jpg sample6.jpg -append -crop 100x100+0+90 +repage -enhance f9.png
%im%\convert.exe sample6.jpg -enhance f10.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+10 +repage -enhance f11.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+20 +repage -enhance f12.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+30 +repage -enhance f13.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+40 +repage -enhance f14.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+50 +repage -enhance f15.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+60 +repage -enhance f16.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+70 +repage -enhance f17.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+80 +repage -enhance f18.png
%im%\convert.exe sample6.jpg sample3b.jpg -append -crop 100x100+0+90 +repage -enhance f19.png

%im%\convert.exe f0.png -coalesce -layers optimize-plus f0.png f0.png f0.png f0.png f1.png f2.png f3.png f4.png f5.png f6.png f7.png f8.png f9.png f10.png f10.png f10.png f10.png f10.png f11.png f12.png f13.png f14.png f15.png f16.png f17.png f18.png f19.png -set delay 20 -loop 0 sample377.gif

上記の例では、2つの画像を垂直方向に連結して(-append)、ずらして切り取り(-chop)をおこなって各フレームを生成してアニメーションGIFを作成しています。また、各フレームでノイズを減らすために-enhanceを使用しています。

元画像1(sample3b.jpg)


元画像2(sample6.jpg)


出力画像(sample377.gif)

No comments: