2013-12-12 38 views
5

我搜索了一下,检查了PIL库的文档以及更多内容,但是我找不到我简单问题的答案:如何使用所需颜色填充现有图像?python图像库:我可以简单地用一种颜色填充图像吗?

(我用from PIL import Imagefrom PIL import ImageDraw

此命令创建充满希望的颜色

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

一个新的形象,但我想重复使用相同的图像,而无需调用的“新“每次

编辑:

一一种可能性是,draw = ImageDraw.Draw(image)后,使用

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

,但我感到惊讶,没有简单的方法来填充整个图像有一个背景颜色,像setTo为OpenCV的。

回答

5

你尝试:

image.paste(color, box) 

其中box可以是2元组赋予的左上角,一个4元组限定其左,上,右和下像素坐标,或无(相同作为(0,0))

既然要填充整个图像,你可以使用以下命令:

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

@Antonio是啊,不这样想。你在这里说的方法似乎是最好的选择,或者你必须尝试我贴上的'paste'方法,然后重新绘制该图像。好奇,如果这工作以及(从来没有使用PIL):'image.paste(color,box)''draw = ImageDraw.Draw(image)' – ryrich

+0

我已经在问题中包含了我以前的评论。为了更详细地输入,你的行可以是'image.paste((200,200,200),[0,0,image.size [0],image.size [1]])''。它很好用,谢谢! – Antonio