Сжимайте только большие изображения с помощью ImageMagick до соотношения - PullRequest
17 голосов
/ 17 июня 2011

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

convert screen.jpg    -resize 1280x1024\!  screen.jpg

Но я бы хотел изменить его размер на основе самого большого размера (ширина ИЛИ высота), а другой (высота ИЛИ ширина) тоже будет пропорционально изменен.

Например, скажем, я хочу, чтобы все мое изображение было изменено до 600 пикселей при максимальном размере ширины / высоты:

  • 1920x1200 => ширина самая большая: 600x375
  • 600x1200=> высота самая большая: 300x600

Как я могу это сделать с помощью ImageMagick?(или, по крайней мере, определяя один максимальный размер (например, только ширину)).

Спасибо за вашу помощь!

Примечание: возможно ли реализовать его автоматически с помощью команды import?

Ответы [ 2 ]

41 голосов
/ 18 января 2013

Для сохранения соотношения сторон:

convert -resize 600x600 screen.jpg:

  • 1920x1200 => 600x375
  • 600x1200 => 300x600
  • 150x300 => 300x600
  • 300x150 => 600x300

convert -resize 600x600\> screen.jpg:

  • 1920x1200 => 600x375
  • 600x1200 => 300x600
  • 150x300 => 150x300 (размер не увеличен)
  • 300x150 => 300x150 (размер не увеличен)
20 голосов
/ 17 июня 2011

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

конвертировать-изменить размер на 50% screen.jpg

или использовать область пикселей:

convert -resize 180000 @ screen.jpg

Это также приведет к увеличению размера небольших изображений в указанной области.Если вы хотите, чтобы ImageMagick уменьшал ваши большие изображения, но оставлял маленькие изображения нетронутыми, используйте оператор ">":

convert -resize '180000 @>' screen.jpg

Обратите внимание, что затем вам необходимо заключить аргумент геометрии в кавычки, чтобы ваша оболочка не интерпретировала знак ">" как перенаправители файлов.

См. Документацию ImageMagick для этих и других параметров: http://www.imagemagick.org/script/command-line-processing.php#geometry

...