imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 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 , а ей хоть бы что !!!

ПОМОГИТЕ СОВЕТОМ !!!
 
Старый 13.05.2005, 11:23     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
а чего тут помогать то? все вроде правильно.... ты в фотошопе попробуй в разрешении 72 пикселя на дюйм сделай картинку 100х100 пикселей... она будет приблизительно такого же размера... а вот если ты в гиф переведешь, то у тебя размер действительно будет меньше раза в 2
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 15.10.2005, 08:36     # 3
Dr.Dre
Advanced Member
 
Аватар для Dr.Dre
 
Регистрация: 27.10.2002
Пол: Male
Сообщения: 420

Dr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царствеDr.Dre Луч света в тёмном царстве
А кто подскажет где найти документацию к imigeMagick на русском. Или как сделать так чтобы можно было уменьшить размер сразу нескольких фоток?
Я одну так уменшаю: convert.exe -resize 50% C:\1.jpg C:\2.jpg
а как сразу чтоб много?
Dr.Dre вне форума  
Старый 15.10.2005, 16:18     # 4
Al-x
Junior Member
 
Регистрация: 31.03.2003
Адрес: СПб
Сообщения: 162

Al-x МолодецAl-x МолодецAl-x Молодец
Код:
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
__________________
640Kbytes should be enough for everything! (c) Bill Gates, 1981.
Все "спасибо" в репутацию

Последний раз редактировалось Al-x; 15.10.2005 в 16:36.
Al-x вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 22:39.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.