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

Используйте ImageMagick для размещения изображения внутри большего холста

Начало работы с ImageMagic и попытка найти способ сделать это... Если изображение составляет менее 50 пикселей в высоту или 50 пикселей в ширину, я бы хотел разместить его (без масштабирования) в горизонтальном/вертикальном центр нового холста размером 50x50 пикселей на белом фоне - и сохраните его как новое изображение. Кто-нибудь знает, возможно ли это с помощью ImageMagick? Спасибо!

4b9b3361

Ответ 1

Я использовал -extent для этого:

convert input.jpg -gravity center -background white -extent 50x50  output.jpg

Ответ 2

См. резка и оседание для огромного количества примеров. Вот простой способ сделать это:

convert input.png -bordercolor Black -border 5x5 output.png

Конечно, вам нужно будет рассчитать размер границы для добавления (если есть) на основе размеров входного изображения. Вы используете API ImageMagick или просто инструменты командной строки?

Ответ 3

Я пробовал это:

convert test.jpg -resize 100x100 -background black -gravity center -extent 100x100 output.png

Ответ 4

Я хотел сделать то же самое, кроме сокращения изображения до 70% внутри. Я использовал это:

convert input.png -resize 70%x70% -gravity center -background transparent -extent 72x72 output.png

Не совсем то, что было запрошено, но, надеюсь, это поможет кому-то;).

Ответ 5

Вы можете использовать единый состав для этого. Поэтому он выглядит примерно так:

convert -size 50x50 xc:white null: ( my_image.png -coalesce ) -gravity Center -layers Composite -layers Optimize output.png

Ответ 6

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

mogrify -gravity center -background white -extent 50x50  source.jpg

Ответ 7

Я использовал этот код для размещения изображения в центре нового холста с белым фоном. надеюсь, это поможет вам

convert -background white -gravity center your_image.jpg -extent 50x50 new_image.jpg