IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Проблема с уменьшением картинки в Image::Magick !!! (http://www.imho.ws/showthread.php?t=85531)

arikkk 12.05.2005 19:39

Проблема с уменьшением картинки в 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 , а ей хоть бы что !!!

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

/7y3uK 13.05.2005 11:23

а чего тут помогать то? все вроде правильно.... ты в фотошопе попробуй в разрешении 72 пикселя на дюйм сделай картинку 100х100 пикселей... она будет приблизительно такого же размера... а вот если ты в гиф переведешь, то у тебя размер действительно будет меньше раза в 2

Dr.Dre 15.10.2005 08:36

А кто подскажет где найти документацию к imigeMagick на русском. Или как сделать так чтобы можно было уменьшить размер сразу нескольких фоток?
Я одну так уменшаю: convert.exe -resize 50% C:\1.jpg C:\2.jpg
а как сразу чтоб много?

Al-x 15.10.2005 16:18

Код:

for img in `ls *.jpg`
do
  convert -resize 50% $img thumb-$img
done

UPD: тьфу, не заметил, что для винды.
Вроде должно быть так:
Код:

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.