Центрировать изображение по цвету фона, полученного из угла - PullRequest
1 голос
/ 06 июня 2010

Я ищу способ, скажем, изображение 200x200 пикселей и центрировать его по фону 500x500 пикселей. Фон должен быть цветом верхнего левого угла изображения 200x200 пикселей.

Я получаю флаги -gravity и -fill, но мне не удается найти способ захватить этот цвет в верхнем левом углу и передать его флагу -fill.

Ответы [ 2 ]

2 голосов
/ 06 июня 2010

Я не нашел более простого способа, поэтому я обрезаю угол, изменяю его размер, в результате чего получается одноцветное изображение, а затем комбинирую их. Это стало возможным благодаря использованию файловых дескрипторов STDIN и STDOUT. Биты «png: -» сообщают imagemagick о передаче данных изображения в формате PNG из того, что я понимаю.

convert -crop 1x1+0+0 image.png png:- | convert -resize 500x500 - png:- | convert -gravity center -composite - image.png new_image.png
1 голос
/ 06 июня 2010

хм Я думал, что сделал это с Image Magick, но оказалось, что я использовал PIL. Если вы используете Python, вы можете использовать PIL, чтобы получить этот угловой цвет пикселей так:

import Image

img = Image.open(filename)

if img.mode != "RGB":
    img = img.convert("RGB") 

left_corner = img.getpixel((0,0))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...