ImageColor 模块

ImageColor 模块包含颜色表和从 CSS3 风格的颜色规范到 RGB 元组的转换器。此模块被 PIL.Image.new()ImageDraw 模块等使用。

颜色名称

ImageColor 模块支持以下字符串格式

  • 十六进制颜色规范,以 #rgb#rgba#rrggbb#rrggbbaa 的形式给出,其中 r 是红色,g 是绿色,b 是蓝色,a 是 alpha(也称为“不透明度”)。例如,#ff0000 指定纯红色,#ff0000cc 指定不透明度为 80% 的红色(cc 在十进制形式中为 204,204 / 255 = 0.8)。

  • RGB 函数,以 rgb(red, green, blue) 的形式给出,其中颜色值是 0 到 255 范围内的整数。或者,颜色值可以以三个百分比 (0% 到 100%) 的形式给出。例如,rgb(255,0,0)rgb(100%,0%,0%) 都指定纯红色。

  • 色相-饱和度-亮度 (HSL) 函数,以 hsl(hue, saturation%, lightness%) 的形式给出,其中色相是作为 0 到 360 之间的角度给出的颜色 (红色=0,绿色=120,蓝色=240),饱和度是 0% 到 100% 之间的值 (灰色=0%,全色=100%),亮度是 0% 到 100% 之间的值 (黑色=0%,正常=50%,白色=100%)。例如,hsl(0,100%,50%) 是纯红色。

  • 色相-饱和度-值 (HSV) 函数,以 hsv(hue, saturation%, value%) 的形式给出,其中色相和饱和度与 HSL 相同,值是 0% 到 100% 之间的值 (黑色=0%,正常=100%)。例如,hsv(0,100%,100%) 是纯红色。此格式也称为色相-饱和度-亮度 (HSB),可以以 hsb(hue, saturation%, brightness%) 的形式给出,其中每个值的使用方式与 HSV 中相同。

  • 常见的 HTML 颜色名称。 ImageColor 模块提供大约 140 个标准颜色名称,基于 X Window 系统和大多数 Web 浏览器支持的颜色。颜色名称不区分大小写。例如,redRed 都指定纯红色。

函数

PIL.ImageColor.getrgb(color)[source]

将颜色字符串转换为 RGB 元组。如果字符串无法解析,则此函数会引发 ValueError 异常。

在版本 1.1.4 中添加。

PIL.ImageColor.getcolor(color, mode)[source]

getrgb() 相同,但如果模式不是颜色或调色板图像,则将 RGB 值转换为灰度值。如果字符串无法解析,则此函数会引发 ValueError 异常。

在版本 1.1.4 中添加。