Вы можете получить ширину и высоту входного изображения, а затем преобразовать его.Я не знаком с 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"