Как установить высоту только при изменении размера с помощью ImageMagick - PullRequest
5 голосов
/ 09 октября 2011

Следующий код изменяет размер изображения так, чтобы его ширина составляла 200, а его высота была любой ... Как бы я сделал так, чтобы высота была 200, а ширина была любой ...

$ command = MAGICK_PATH. "Convert". $ Filename. "-Resize 200". $ Filename; Exec ($ команда);

С уважением, J

Ответы [ 2 ]

8 голосов
/ 09 октября 2011

В руководстве содержится полный обзор параметров изменения размера.

Вы ищете

xheight Заданная высота, ширина, выбранная автоматически для сохранения соотношения сторон.

0 голосов
/ 09 октября 2011

Вы можете получить ширину и высоту входного изображения, а затем преобразовать его.Я не знаком с PHP, поэтому выложу код для bash.

Чтобы изменить размер изображения на 500x200:

convert "$filename" -resize 500x200 "$filename"

Чтобы изменить размер, сохраняя прежнюю ширину или высоту:

width=$(identify -format "%w" "$filename")
height=$(identify -format "%h" "$filename")
convert "$filename" -resize "200x$height" "$filename"

Примечание: вместо

convert "$filename" [opts] "$filename"

лучше использовать

mogrify "filename"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...