好的,首先是第一件事。这是this question的近似副本。
但是,我面临的问题在关键方面略有不同。
在我的应用程序中,我读取了一个通用文件名,加载了所述图像并显示它。在它变得棘手的地方,我已经覆盖了被突出显示的外观'。为此,我使用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)
感谢任何可以提供帮助的人。
答案 0 :(得分:0)
听起来你想制作new
图片:
fill_color = (255,255,0) #define the colour as (R,G,B) tuple
highlightImage = Image.new(primaryImage.mode, #same mode as the primary
primaryImage.size, #same size as the primary
fill_color)#and the colour defined above
这会创建一个new图像,其图像和大小与已打开的图像相同,但颜色为纯色。欢呼声。
此外,如果您使用Pillow而不是原始PIL,您甚至可以按名称获取颜色:
from PIL.ImageColor import getcolor
overlay = 'yellow'
fill_color = getcolor(overlay, primaryImage.mode)