python成像库:我可以用一种颜色填充我的图像吗?

时间:2013-12-12 16:17:35

标签: python image

我用谷歌搜索,检查了PIL库的文档等等,但我找不到我的简单问题的答案:如何用所需的颜色填充现有图像?

(我正在使用from PIL import Imagefrom PIL import ImageDraw

此命令创建一个填充了所需颜色的新图像

image = Image.new("RGB", (self.width, self.height), (200, 200, 200))

但我希望重复使用相同的图像,而无需每次都调用“new”

2 个答案:

答案 0 :(得分:8)

你试过了吗?

image.paste(color, box)

其中box可以是给出左上角的2元组,4元组定义左,上,右和下像素坐标,或者是无(与(0,0)相同)< / p>

由于您要填充整个图像,因此可以使用以下内容:

image.paste( (200,200,200), [0,0,image.size[0],image.size[1]])

答案 1 :(得分:0)

一种可能性是draw a rectangle

from PIL import Image
from PIL import ImageDraw
#...
draw = ImageDraw.Draw(image)
draw.rectangle([(0,0),image.size], fill = (200,200,200) )

或(未经测试):

draw = ImageDraw.Draw(image).rectangle([(0,0),image.size], fill = (200,200,200) )

(虽然使用一种背景颜色填充整个图像令人惊讶there is no simpler method,例如opencv的setTo