ImageMagick/MagickWand. Как вывести картинку заданного размера?

alekciy

Новичок
ImageMagick/MagickWand. Как вывести картинку заданного размера?

Apache : 2.0.61 (Win32)
PHP : 5.2.4
ImageMagick: 6.2.9 09/27/06 Q16

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

К примеру, есть фото 443*295 (т.е. с отношеним сторон 1,5), требуется получить превьюшку 300*300. После обработки я получаю 300*199, т.е. по сути нужно залить фоновым цветом 101 пикселей для получения нужного размера. В той же GD можно создать превьху 300*300 залитую фоновым цветом, а потом в неё скопировать полученый результат, но вот в MagickWand-е я такого добиться ни как не могу. Либо пропорции искажаются, либо получаю просто фоновый цвет без фотки.

Может кто в курсе, возможно ли в принципе через MagickWand получить картинку заданного размера?

-~{}~ 02.05.08 15:28:

А вообще, хоть кто-то ImageMagick использует в работе? И в каком режиме (вызов_через_MagickWand / системный_вызов).

-~{}~ 02.05.08 16:18:

Все, кажется разобрался. Нужно воспользоваться функцией MagickCompositeImage, причем первым параметром идет фотка, на которую нужно наложить изображение.
 

cDLEON

Онанист РНРСlub
Я так понимаю галерею делаешь?
Не понятно....Зачем делать превъюху с этими левыми пикселями, если можно в ХТМЛе залить див определённого размера ? а на него положить фотку ?
 

alekciy

Новичок
cDLEON
Нет, не галерею.
Безусловно можно, но только в курсе, что при этом какой бы размер средствами (X)HTML я бы не ставил, грузиться в браузер файл будет в оригинальном размере? Думаю в курсе.

А оригинальные файлы в tif-е размером 0,5-9МБ, как вертикальные, так и горизонтальные, с различным отношением сторон. А так, на домашнем локалхосте у меня ~2400 таких фото перегоняется в стандартный размер 120*120 за ~15 минут.
 

dimagolov

Новичок
alekciy, перегоняй их не в 120*120, а не более чем 120*120 пропорционально. И отображай центрированно в блоке 120*120, вот и вся история.
 

alekciy

Новичок
dimagolov
Кстати да, хороший вариант. Но я уже получил то, что хотел. Пропорционально уменьшаю не более чем 120*120, центрирую, а для полей делаю заливку белым.
 

iSlayter

Новичок
поменяли дизайн, поля стали красные. ваши действия?

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

cDLEON

Онанист РНРСlub
Безусловно можно, но только в курсе, что при этом какой бы размер средствами (X)HTML я бы не ставил, грузиться в браузер файл будет в оригинальном размере?
Сёрьёзно ? А я, дурак, не знаю...
Собственно то, что сказал димаголов я и говорил.
 

alekciy

Новичок
iSlayter
Какие к черту поля? Это заполнение пустых областей белым цветом. Если диз сменят и для картинок потребуется красный фон (только какой псих на такое пойдет? идиот только), то картинку придется пересохранять к красным фоном в любом случае.

Так что грабли, а тем более вселенского масштаба, тут не светят.
 

dimagolov

Новичок
alekciy, очевидно, что умение внимательно слушать и понимать собеседника не является Вашим козырем.

разжовываю в 3-й раз: если вообще не делать полей ради "квадратности" привьюхи, то заливать их каким либо цветом не предется.
 

iSlayter

Новичок
alekciy, ну вообщем "удачно" вам в дальнейшем пересохранением заниматься.
 
Сверху