2015-09-10 2 views
1

В настоящее время я использую преобразование Python Imaging Library (PIL) с функцией EXTENT, чтобы пользователи могли выполнять базовое редактирование изображений, т.е. простое масштабирование/уменьшение масштаба, смещение по оси x и оси, установка цвета фона, поворот и т. Д.Есть ли способ изменить цвет заливки Python Imaging Library (PIL)?

И поэтому одна проблема заключается в том, что они могут уменьшить или смещать достаточно, чтобы части конечного выходного изображения выходили за пределы исходного изображения. Когда это произойдет, PIL заполняет эту часть черным цветом

Кто-нибудь знает, есть ли способ установить собственный цвет заливки, а не черный по умолчанию, или есть предложения по способам обойти это? Высокая оценка

Первоначально я думал о предварительном оклейки альфа слой туда, где границы превышены, но это, кажется, усложняться довольно быстро ..

ответ

1

[Редактировать] Возможно this поможет. Таким образом, сделать что-то вроде (не обращайте слишком много внимания на точные числа) ...

image2 = image1.transform((600, 400), Image.EXTENT, (0, 0, 1200, 800)) 

draw = ImageDraw.Draw(image2) 

# Fill in rectangle below the real image 
draw.rectangle((0, 50, 1200, 600), fill=(255, 150, 0)) 

# Fill in rectangle to the right of the the real image 
draw.rectangle((100, 0, 800, 50), fill=(150, 255, 0)) 
del draw 

image2.save(SAVE_NAME) 
+0

Я должен сначала пройти изображение через преобразование, хотя есть xoffset, масштабирование и т.д., прежде чем быть в состоянии сделать пасту .. но как только произойдет преобразование, добавляется черная заливка – Dennis

+0

См. отредактированную версию – jcfollower

+0

Отлично работает, спасибо! – Dennis

Смежные вопросы