使用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)