6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ImageMagick で 画像リサイズと画質落としつつ gif アニメーションを作る

Last updated at Posted at 2014-06-18

何も考えない場合

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
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?