Подтвердить что ты не робот

Imagemagick - изменение размера изображения до высоты 25px и соотношения сторон

ОК, поэтому у меня есть папка из 16 изображений между размерами от 205x150 до 103x148. Я хочу, чтобы размер их до высоты пикселя и ширины 25 пикселей и стек их горизонтально на прозрачном фоне... возможно?

Возможно, я должен использовать ImageMagick для этого...

4b9b3361

Ответ 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