определить ориентацию изображения с помощью ImageMagick - PullRequest
0 голосов
/ 21 февраля 2010

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

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

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

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

Я использую ImageMagick с оболочкой MagickNet.

Ответы [ 2 ]

2 голосов
/ 21 февраля 2010

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

convert org.jpg    -resize widthxwidth  final.jpg

например. widthxwidth может быть 256x256

Соотношение сторон будет сохранено, а изменение размера будет выполнено в пределах квадрата 256 X 256 пикселей.

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

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

1 голос
/ 21 февраля 2010

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

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...