#image #image-processing
#изображение #обработка изображений
Вопрос:
У меня есть несколько файлов изображений PNG, которые я хотел бы увеличить в размере. Я не хочу изменять масштаб изображения.Я просто хочу расширить белый фон дальше вниз и вправо. В терминах GIMP я хочу увеличить размер холста и покрыть увеличенную область белыми пикселями в пакетном контексте. Входные изображения могут быть разных размеров, но все выходные изображения должны иметь фиксированный размер (например, 1280 x 720 пикселей).
Я пробовал это с помощью различных онлайн-инструментов, с помощью GIMP и с очень старой версией Photoshop. Большинство инструментов, которые я пробовал на сегодняшний день, выполняют одно из следующих действий, которые мне не нужны:
- Измените масштаб существующего изображения, чтобы оно соответствовало новому размеру холста, или
- Расположите исходное изображение по центру и расширьте холст во всех направлениях, или
- Не удается выполнить это в пакетном режиме.
Я просто хочу расширить существующие изображения PNG дополнительными белыми пикселями вниз и вправо. Какой самый простой способ сделать это с большим количеством файлов?
Ответ №1:
imagemagick — обычный инструмент для этого. -crop
операция в сочетании с -gravity
, вероятно, может делать то, что вы хотите.
magick input.jpg -crop 1000x1000 0 0! -background white -flatten output.png
источник магического заклинания: https://legacy.imagemagick.org/Usage/crop /
Ответ №2:
В ImageMagick вы обрабатываете целую папку изображений с помощью mogrify. Вы можете расширить их с помощью -extent . С помощью mogrify разумно сначала создать новый пустой каталог для хранения результатов. Итак
cd image_directory
mogrify -format png -path path/to/new_directory -background white -gravity northwest -extent WxH *.png
Где WxH — это желаемая конечная ширина и высота после заполнения белым цветом. Предполагается, что все изображения будут дополнены до одинаковой ширины и высоты
Развернуть по размеру
cd test1
mogrify -format png -path ../test2 -background white -gravity northwest -extent 500x500 *.jpg
Увеличить на процент
cd test1
mogrify -format png -path ../test2 -background white -gravity northwest -extent 150x150% *.jpg
Для ImageMagick 7 добавьте magick перед mogrify. Итак, «магия может измениться …»
Ответ №3:
Команда ImageMagick, которая сделала то, что мне было нужно, использовала «преобразовать» с аргументами -geometry и -composite . В контексте пакетного файла Windows:
for %%a in (img*.png) do (
magick convert -size 1280x720 xc:white "%%a" -geometry 512x384 40 40 -composite "work-%%~na.pdf"
)