Обнаружение ориентации изображения с помощью ImageMagick

StackOverflow https://stackoverflow.com/questions/2304678

  •  21-09-2019
  •  | 
  •  

Вопрос

Я хочу изменить размер картинки до нового размера, используя один параметр: ширина.

Если изображение горизонтальна, новый размер будет: ширина = ширина, высота = пропорционален ширине.

И если изображение вертикально, новый размер будет: высота = ширина, ширина = пропорциональная высоте.

Есть идеи, как это реализовать?

Я использую Imagemagick с оболочкой Magicknet.

Это было полезно?

Решение

Из ссылки на использование в http://www.imagemagick.org/usage/resize/

convert org.jpg    -resize widthxwidth  final.jpg

Например, ширина может быть 256x256

Соотношение сторон будет сохранено, и изменение размера будет выполнено в пределах границы площадью 256 x 256 пикселей.

Цитируется со страницы выше:

Изменение размера вписывает изображение в запрошенный размер. Это не заполняет, запрошенное размер коробка.

Другие советы

Я не уверен, что именно вы здесь имеете в виду. Вы говорите, что просто хотите определить ширину, но в случае «вертикального» вы устанавливаете высоту шириной? В любом случае, если вы хотите что-то изменить размер, используя только ширину, используйте этот псевдокод:

ratio = width / height
newWidth = <the new width>
newHeight = newWidth / ratio

Если вы хотите изменить размер самый длинный размер до данного значения, попробуйте:

ratio = width / height

if ratio > 1   // wider than it is tall
    newWidth = <theValue>
    newHeight = newWidth / ratio

else           // taller than it is wide
    newHeight = <theValue>
    newWidth = newHeight * ratio
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top