Показать сообщение отдельно
Старый 12.05.2005, 19:39     # 1
arikkk
Guest
 
Сообщения: n/a

Проблема с уменьшением картинки в Image::Magick !!!

Проблема с уменьшением картинки в Image::Magick !!!

Прошу хелпа , у меня проблемка возникла ,если есть опыт работы с этим модулем подскажите , а то проект горит !!!

Короче проблема вот в чём :

sub copy_magick{
my $src = shift;
my $gal_dir = shift;
my $gal_name = shift;
my $img_name = shift;
my $img = new Image::Magick;
my $stat = $img->Read($src);
die "$stat Can't read img $src !" if "$stat";
my($w,$h) = $img->Get('width', 'height');



my $my_w = $w ;
my $my_h = $h ;
if ( $my_w > 600 || $my_h > 600 ) {
if ( $w > $h ) {
$my_w = 600 ;
$my_h = $h * $my_w/$w;
}
else {
$my_h = 600 ;
$my_w = $w * $my_h/$h;
}
}

if ( $w > $h ) {
$my_t_w = 100 ;
$my_t_h = $h * $my_t_w/$w;
}
else {
$my_t_h = 100 ;
$my_t_w = $w * $my_t_h/$h;
}
##Изменяю размер фотки до 600px в ширину и сжимаю в JPG

$stat = $img->Resize(width=>"$my_w",height=>"$my_h");

die "$stat Can't resize img $src !" if "$stat";

$stat = $img->Write(filename=>"$gal_dir$gal_name/$img_name",
compression=>'JPEG',quality=>'70');

die "$stat Can't write img $src !" if "$stat";

##Изменяю размер фотки до размера
### превьюшки шириной 100px и тоже сжимаю в JPG

$stat = $img->Resize(width=>"$my_t_w",height=>"$my_t_h");

die "$stat Can't resize thumbneil $src !" if "$stat";

$img_name="t"."$img_name";

$stat = $img->Write(filename=>"$gal_dir$gal_name/$img_name", compression=>'JPEG',quality=>'30');

die "$stat Can't write thumbneil $src !" if "$stat";

undef $img;
}

на выходе получаю прекрасную 600 х n большую фотку весом 75кб

и превьюшку к ней размерм 100 х n весом 35кб !!!!!!!!!
Что делать ? Почему размер превьюшки такой большой ?
Уровень сжатия пробовал до 20 , а ей хоть бы что !!!

ПОМОГИТЕ СОВЕТОМ !!!