Python PIL getpalette() 方法详解
getpalette()
是Pillow库中针对图像颜色表相关功能的一个成员方法,用于获取一个颜色映射表,返回一个列表或者 None。
语法
Image.getpalette()
参数
该方法没有参数。
返回值
如果图片颜色模式为L或者P,则该方法返回一个包含 256 个整数的列表,列表中的值对应着每一个像素的颜色情况,如果是 RGB 或者 RGBA 则返回 None。
代码示例一:
下面的示例演示获取灰度图像的调色板:
from PIL import Image
with Image.open('image.png') as img:
if img.mode in ['1', 'L', 'P']:
palette = img.getpalette()
print(palette)
else:
print('not grayscale')
执行结果:
[0, 0, 0, 255, 255, 255, ...]
代码示例二:
下面的示例演示获取彩色图像的调色板(返回值为 None):
from PIL import Image
with Image.open('image.png') as img:
if img.mode in ['RGB', 'RGBA']:
palette = img.getpalette()
print(palette)
else:
print('not color')
执行结果:
None
注意事项
使用 getpalette()
时需要按照颜色模式的不同进行区分,因为 RGB 或者 RGBA 对应的调色板是不存在的,会返回 None。