Imagemagick - изменение размера изображения до высоты 25px и соотношения сторон
ОК, поэтому у меня есть папка из 16 изображений между размерами от 205x150 до 103x148. Я хочу, чтобы размер их до высоты пикселя и ширины 25 пикселей и стек их горизонтально на прозрачном фоне... возможно?
Возможно, я должен использовать ImageMagick для этого...
Ответы
Ответ 1
Вы можете сделать все с помощью ImageMagick.
Вы сомневаетесь, что это не очень специфично, так что здесь вы можете быстро просмотреть примеры команд, которые могут вам помочь:
# resize image to width 25, keeping aspect ratio
convert -geometry 25x src/image1.png out/image1.png
# resize image to height 25, keeping aspect ratio
convert -geometry x25 src/image1.png out/image1.png
# concatenate images horizontally
convert +append src/image1.png src/image2.png out/image12horiz.png
# concatenate images vertically
convert -append src/image1.png src/image2.png out/image12vert.png
Кроме того, команда montage
, вероятно, идеально подходит для создания конечного изображения, которое вы ищете (на прозрачном bg с некоторым дополнением и т.д.), но я не помню синтаксис.
Еще одна полезная команда - identify
, чтобы найти размеры изображений (вместе с другими деталями).
После установки ImageMagick вы можете увидеть список команд в man ImageMagick
и получить дополнительную информацию о каждой команде на страницах руководства. Есть очень много функций, но не обязательно слишком сложно разобраться в остальном на Google. (Я делаю это все время.)
Ответ 2
Просто чтобы добавить что-то к ответу @janos. Я не использовал предыдущие версии ImageMagick, но на версии v6 или более поздней в соответствии с документами http://www.imagemagick.org/Usage/resize/#geometry
Геометрия - это особая опция. Оператор ведет себя немного по-разному в каждой IM-команде и часто особым и магическим образом. Причины этого в основном связаны с устаревшим использованием, и его следует избегать, если это вообще возможно.
Поэтому, кроме параметра -geometry
вы все равно можете использовать -resize
и опустить -resize
значение, чтобы сохранить соотношение сторон. Вы также можете использовать параметр -quality
чтобы избежать ухудшения качества изображения при изменении их размера. Значение качества находится в диапазоне от 1 (низкое качество изображения и максимальное сжатие) до 100 (наилучшее качество, но наименее эффективное сжатие). Вы можете прочитать больше здесь: https://imagemagick.org/script/command-line-options.php#quality
Например:
# resize image to height 25, keeping aspect ratio with quality 90
convert -resize x25 original_image.jpeg -quality 90 resized_image.jpeg