以前、質問したですが。最終的には
アップロードする画像ファイルがアニメーションGIFで指定したサイズ以上ならばリサイズしてサムネイルを作るというものを実現して見ました。
しかし、非常に重くサーバーの負担があると思われます。
ぜひ、アドバイスをお願いします。
$ws=200;
$wh=200;
if($ck_anigif){
&anigif_resize($imgfile,$outimgfile,$ws,$hs);
}
#アニメーションGIFのチェック
#アニメーションGIFなら$gflg="yes"違うなら""を返す
sub gif_check {
my ($tail,$imgfile) =@_;
my $gflg ="";
my $ch=0;
if( $tail eq ".gif" ){
open(IN,"identify $imgfile |");
@output = <IN>;
if ( @output > 1 ){
foreach (@output) {
if (/Class/) { $ch++; last; }
}
if ($ch) { $gflg ="yes"; } else { $gflg =""; }
}
}
return ($gflg);
}
#アニメーションGIFのリサイズ
sub anigif_resize{
my($imgfile,$outimgfile,$tn_w,$tn_h)=@_;
my $option=" -coalesce -resize $tn_w x $tn_h -deconstruct";
# ImageMagickのconvertコマンド呼び出し
system ("convert $imgfile $option $outimgfile");
#return ($gflg);
}
|