package imgbbs; ;# 20:51 2003/10/24 ;# resize.pl.magick ;# suga@snpn.net sub note{ my $note = 'resize.pl.magick(2003/10/24)'; return $note; } sub imgresize{ my ($src,$dst,$w,$h,$jpegq,$del_flag) = @_; unless($w =~ /^\d+$/ || $h =~ /^\d+$/){ return 0;} unless($jpegq =~ /^\d+$/){ $jpegq = 75;} if($jpegq < 1 || $jpegq > 100){ $jpegq = 75; } if(eval 'use Image::Magick; 1'){ my $i = Image::Magick->new; $i->Read($src); if(@$i >= 2){ my $g = Image::Magick->new; $g ->Read($src.'[0]'); $i = $g; } $i->Scale(width=>$w, height=>$h); $i->Set(quality => $jpegq); $i->Write("jpeg:$dst"); chmod(0666,$dst); if($del_flag == 1){ unlink($dst) if(-e $dst && (-s $dst) > (-s $src)); } } if(-e $dst){ return 1 ;} return 0; } 1;