使用Python图像库在图像顶部叠加彩色像素

使用Python图像库在图像顶部叠加彩色像素,python,image,python-imaging-library,Python,Image,Python Imaging Library,好的,第一件事。这几乎是一个复制品 然而,我面临的问题在关键方面略有不同 在我的应用程序中,我在中读取一个通用文件名,加载所述图像并显示它。棘手的是,我有一个“突出显示”的外观。为此,我使用了Image.blend()函数,并将其与一个纯黄色图像混合 但是,在处理混合时,我遇到了一个错误,即两个图像不兼容,无法进行混合。为了解决这个问题,我打开了画图中的样本图像,在整个图像上粘贴了黄色,并将其保存为副本 我刚刚想到,当按文件名读入不同类型的图像时,这将失败。请记住,这需要是通用的 所以我的问题是

好的,第一件事。这几乎是一个复制品

然而,我面临的问题在关键方面略有不同

在我的应用程序中,我在中读取一个通用文件名,加载所述图像并显示它。棘手的是,我有一个“突出显示”的外观。为此,我使用了
Image.blend()
函数,并将其与一个纯黄色图像混合

但是,在处理混合时,我遇到了一个错误,即两个图像不兼容,无法进行混合。为了解决这个问题,我打开了画图中的样本图像,在整个图像上粘贴了黄色,并将其保存为副本

我刚刚想到,当按文件名读入不同类型的图像时,这将失败。请记住,这需要是通用的

所以我的问题是:我能让python通过复制图像并修改它使其成为纯黄色来生成图像,而不是手动复制图像吗?注意:我不需要在之后保存它,所以只要让它发生就足够了

不幸的是,我不被允许分享我的代码,但希望以下内容能让我了解我需要什么:

from PIL import Image 

desiredWidth = 800
desiredHeight = 600

primaryImage = Image.open("first.jpg").resize((desiredWidth, desiredHeight), Image.ANTIALIAS)

# This is the thing I need fixed:
highlightImage = Image.open("highlight.jpg").resize((desiredWidth, desiredHeight), Image.ANTIALIAS)

toDisplay = Image.blend(primaryImage, highlightImage, 0.3)

感谢所有能提供帮助的人。

听起来你想制作一个图像:

这将创建与已打开的图像具有相同模式和大小的图像,但具有纯色。干杯

此外,如果您使用枕头而不是原装PIL,您甚至可以通过名称获得颜色:

from PIL.ImageColor import getcolor

overlay = 'yellow'
fill_color = getcolor(overlay, primaryImage.mode)
yellow=(255255,0);Image.new(primaryImage.mode,primaryImage.size,黄色)
from PIL.ImageColor import getcolor

overlay = 'yellow'
fill_color = getcolor(overlay, primaryImage.mode)