何も考えない場合
convert -delay 25 -loop 0 ( 01.jpg 02.jpg 03.jpg 04.jpg ) out_1.gif
50%にリサイズする場合
convert -delay 25 -loop 0 ( 01.jpg 02.jpg 03.jpg 04.jpg ) ( -resize 50% ) out_2.gif
50%にリサイズ&32色に落とす場合
convert -delay 25 -loop 0 ( 01.jpg 02.jpg 03.jpg 04.jpg ) ( -resize 50% -colors 32 ) out_3.gif
( )
を使うことでグルーピングが可能。最後の例では 01.jpg~04.jpg に対して リサイズ&色数変更 を行った後 gifに変換。
PHP使って簡単なベンチマーク取った。高画質のjpeg画像からgifアニメーション作るコストは結構高い。一見余計なリサイズ&画質変換処理を加えたほうが短時間で済む。
<?php
// imagemagick バージョン情報出力
exec( "convert --version", $version );
echo implode( "\n", $version ), "\n";
// 通常
$s = microtime( true );
exec( "convert -delay 25 -loop 0 \( 01.jpg 02.jpg 03.jpg 04.jpg \) out_1.gif" );
$e = microtime( true );
echo "#1 : ", ($e-$s), "\n";
// 50%リサイズ
$s = microtime( true );
exec( "convert -delay 25 -loop 0 \( 01.jpg 02.jpg 03.jpg 04.jpg \) \( -resize 50% \) out_2.gif" );
$e = microtime( true );
echo "#2 : ", ($e-$s), "\n";
// 50%リサイズ&32色
$s = microtime( true );
exec( "convert -delay 25 -loop 0 \( 01.jpg 02.jpg 03.jpg 04.jpg \) \( -resize 50% -colors 32 \) out_3.gif" );
$e = microtime( true );
echo "#3 : ", ($e-$s), "\n";
Version: ImageMagick 6.8.1-0 2012-12-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2013 ImageMagick Studio LLC
Features: OpenMP
# 1 : 1.4550831317902
# 2 : 0.72604203224182
# 3 : 0.45802593231201