Я искал это и не могу найти легко реализуемое решение.
В настоящее время я работаю над приложением, которое занимается панорамами. Поскольку они выходят из процесса пакетного стежка, размеры в среднем 18000x4000. С помощью ImageMagick, как я могу уменьшить эти изображения до определенного значения высоты при сохранении соотношения сторон?
Согласно руководству, операция convert
принимает размеры и ширину, и размеры, чтобы изменить ее размер при сохранении того же соотношения сторон , Я хотел бы добавить 600 и 1000 в мою существующую функцию сценария изменения размера и иметь как обычное видимое изображение, так и уменьшенный размер.
для изменения размера всех файлов в папке можно использовать что-то вроде
mogrify -resize 800x1094! * jpg # сохранить соотношение сторон изображения
blockquote>--- изменить размер и расширение в соответствии с требованиями
Согласно документации ImageMagick я предлагаю использовать -geometry x600
, тогда как x600
означает, что новое изображение имеет высоту 600 пикселей с тем же соотношением сторон , что и старое изображение.
Для одиночного изображения вы можете запустить:
convert input.png -geometry x600 output.png
Если вы предпочитаете конвертировать все изображения папки за один прогон, переключитесь к нему (то есть cd ~/Pictures/panoramas/
) и используйте
mogrify -geometry x600 *.png
Но будьте осторожны с этим, потому что он перезаписывает исходные файлы изображений . Чтобы избежать этого, вы можете
mkdir ~/Pictures/panoramas/small
) cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small
) и cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png
).