Python PIL ImageChops.constant()函数详解
概述
ImageChops.constant()
是Python PIL( Python Imaging Library) 库中的一个函数,用于创建与给定图像大小相同的常量图像。其可以创建具有给定值和模式的单色图像,它经常用于创建背景图像,在该图像上覆盖位图或在此图像和另一图像之间创建差异图像。
语法
ImageChops.constant(mode, color)
参数
- mode:图像数据类型,它必须是“1、L或RGB或CMYK等有效值之一”,其中之一即可。
- color:颜色值。应该是范围在0到255之间的整数,以指示颜色的强度。如果是单一整数,则会返回具有三个相同通道值的图像; 如果是元组( R,G,B )则会返回具有指定颜色值的图像(颜色模式为“RGB”)。
返回值
ImageChops.constant()
返回的是与指定大小和模式相同的平铺图像。
示例1
from PIL import Image, ImageChops
import numpy as np
# 创建一个300 * 300的纯白图片
constant_image = ImageChops.constant('RGB', (255, 255, 255))
print(constant_image.size)
# 转成Numpy数组
arr = np.array(constant_image)
print(arr.shape)
在这个示例中,我们创建一个 300 * 300 的纯白图片。该图像是以“RGB”模式创建的,并且每个像素的值都是 (255, 255, 255)。输出结果是一个 300 x 300 大小的 Pillow 图像对象,然后将其转换为 NumPy 数组并打印其形状,返回结果是 (300, 300, 3)。
示例2
from PIL import Image, ImageChops
# 创建一个100 * 100的红色图片
constant_image = ImageChops.constant('RGB', (255, 0, 0), (100, 100))
constant_image.show()
在这个示例中,我们使用 ImageChops.constant()
函数创建一个 100*100 大小的红色图片,我们传递的参数中指定了图片的大小和颜色为红色,这里我们使用的是 “RGB” 模式。最后使用图片对象的 show()
方法来查看生成的图像。
注意事项
- 如果在颜色值中包含了一个浮点型小数,颜色值将被四舍五入为最接近的整数。
- 如果在颜色值中包含了一个元组,图像将是“RGB”模式。
- 如果在颜色值中包含三个整数,则图像颜色模式为“RGB”,如果颜色值包含大于三个整数,则第四个整数将被视为alpha透明度。