我用谷歌搜索,检查了PIL库的文档等等,但我找不到我的简单问题的答案:如何用所需的颜色填充现有图像?
(我正在使用from PIL import Image
和from PIL import ImageDraw
)
此命令创建一个填充了所需颜色的新图像
image = Image.new("RGB", (self.width, self.height), (200, 200, 200))
但我希望重复使用相同的图像,而无需每次都调用“new”
答案 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