![]() |
Проблема с уменьшением картинки в 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 , а ей хоть бы что !!! ПОМОГИТЕ СОВЕТОМ !!! |
а чего тут помогать то? все вроде правильно.... ты в фотошопе попробуй в разрешении 72 пикселя на дюйм сделай картинку 100х100 пикселей... она будет приблизительно такого же размера... а вот если ты в гиф переведешь, то у тебя размер действительно будет меньше раза в 2
|
А кто подскажет где найти документацию к imigeMagick на русском. Или как сделать так чтобы можно было уменьшить размер сразу нескольких фоток?
Я одну так уменшаю: convert.exe -resize 50% C:\1.jpg C:\2.jpg а как сразу чтоб много? |
Код:
for img in `ls *.jpg`Вроде должно быть так: Код:
for %a in (*.jpg) do convert.exe -resize 50% %a thumb-%a |
| Часовой пояс GMT +4, время: 21:53. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.