Ресайз картинки ImageMagick'ом в зависимости от ее ширины. Возможно ли?

Работа с различными видами графики, изображений, решение проблем

Модератор: aim

phprus
Сообщения: 42
ОС: OpenSuSE

Ресайз картинки ImageMagick'ом в зависимости от ее ширины. Возможно ли?

Сообщение phprus » 13.02.2009 18:39

Подскажите пожалуйста, можно ли при помощи convert решить такую задачу:
Если картинка шире Х пикселей, то пропорционально ужать ее до ширины в Х пикселей, а если уже Х пикселей, то получить изображение у которого ширина будет Х, высота как у оригинальной картинки и оригинальная картинка спозиционирована по середине новой с заливкой получившихся полей цветом #YYYYYY
?

С просто масштабированием и проверкой условий в вызывающем convert коде проблем нет, оно делается опцией ‑resize и if'ами в зависимости от размера оригинала. Вопрос в том, можно ли реализовать такое условное масштабирование параметрами convert. Чтение документации пока не помогло.

Заранее спасибо за ответы.
Спасибо сказали:

phprus
Сообщения: 42
ОС: OpenSuSE

Re: Ресайз картинки ImageMagick'ом в зависимости от ее ширины. Возможно ли?

Сообщение phprus » 13.02.2009 21:13

При помощи convert 2.jpg -quality 90 -resize 200\> +profile "*" 3.jpg удалось добиться того, что если картинка уже 200 пикселей, то она не растягивается до 200 пикселей, а остается оригинального размера.
Осталось придумать как в таком случае сделать чтобы результат все-же получился шириной 200, но поля были заполнены определенным цветом фона.



С помощью PHPClub'а разобрался как это сделать.
Пример того, что я хотел реализовать есть здесь: http://www.imagemagick.org/Usage/crop/#extent
Спасибо сказали: