详解Python PIL ImageChops.constant()

  • Post category:Python

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透明度。