使用 Python 成像库在图像顶部叠加彩色像素
Overlaying coloured pixels on top of an image using Python Imaging Library
好的,首先。这是 this question.
的几乎重复
但是,我面临的问题在关键方面略有不同。
在我的应用程序中,我读取了一个通用文件名,加载了该图像并显示了它。棘手的地方是我覆盖了 'highlighted' 的外观。为此,我使用了 Image.blend()
函数,并将其与纯黄色图像混合。
但是,在处理混合时,我遇到了两个图像不兼容无法混合的错误。为了解决这个问题,我打开了我在 Paint 中的示例图像,然后在整个图像上粘贴了黄色,并将其保存为副本。
我刚想到,当按文件名读入不同类型的图像时,这会失败。请记住,这需要是通用的。
所以我的问题是:我可以 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)
感谢任何能提供帮助的人。
听起来您想制作一张 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)
好的,首先。这是 this question.
的几乎重复但是,我面临的问题在关键方面略有不同。
在我的应用程序中,我读取了一个通用文件名,加载了该图像并显示了它。棘手的地方是我覆盖了 'highlighted' 的外观。为此,我使用了 Image.blend()
函数,并将其与纯黄色图像混合。
但是,在处理混合时,我遇到了两个图像不兼容无法混合的错误。为了解决这个问题,我打开了我在 Paint 中的示例图像,然后在整个图像上粘贴了黄色,并将其保存为副本。
我刚想到,当按文件名读入不同类型的图像时,这会失败。请记住,这需要是通用的。
所以我的问题是:我可以 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)
感谢任何能提供帮助的人。
听起来您想制作一张 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)