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