CGIなどのの質問を受付ます。
現在SPAM対策の為、一部ホストアドレスを規制中。
▼スレッド
│
└◇1146:Re:アニメーションGIFのチェックのルーチンその後 [うしわか] 07/21 22:48
└◇1148:Re[2]:アニメーションGIFのチェックのルーチンその後 [moon★] 07/22
└◇1149:Re[3]:アニメーションGIFのチェックのルーチンその後 [うしわか] 07/22 <
すいません。スレッド一覧
一番上に
$ck_anigif=&gif_check($tail,$imgfile);
が抜けていました。
以下修正してみたもの。スレッド一覧
テストではそこそこ早かったが・・・
$imgfile = 'hoge.gif';
$outimgfile = 'out.gif';
$tail = '.gif';
$ws=200;
$hs=200;
if(&gif_check($tail,$imgfile)){
&anigif_resize($imgfile,$outimgfile,$ws,$hs);
}
#アニメーションGIFのチェック
sub gif_check {
my ($tail,$imgfile) =@_;
if( $tail eq ".gif" ){
open(IN,"identify $imgfile |");
@output = <IN>;
close(IN);
if ( @output > 1 ){
return(1);
}
}
}
#アニメーション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");
}
直したところ
・余計な変数などは使わないようにした
・$option のところの サイズ指定にスペースが入っているとエラーになるので、それを修正。
ImageMagickを使う場合、ImageMagickでの処理時間があるので、これ以上は焼くならないと思います。
とりあえずエラーが出ないように作って、だめなら他の方法(他のモジュールや自作するなど)を考えるしかないでしょう。
おお〜おかげで目に見えて処理が軽くなったようです。スレッド一覧
感謝m(_ _)m