как установить высоту только при изменении размера с помощью ImageMagick

#php #imagemagick

#php #imagemagick

Вопрос:

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

$command = MAGICK_PATH.»преобразовать».$filename.» -изменить размер на 200 «.$filename; exec($command);

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

Ответ №1:

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

Вы ищете

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

Ответ №2:

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

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

 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"
  

Комментарии:

1. Спасибо ghostmansd, конвертируйте «.$filename.» -измените размер x200 «.$filename; … мне просто нужен x перед размером, чтобы сделать его таким по высоте, а не по ширине …. спасибо за ваше время и помощь.