PIL库——ImageColor模块

简介

PIL模块(Python Image Library)是Python中处理图像的标准库,功能强大,API简单易用。
PIL仅支持到Python2.7,Python3.x的兼容版本名为Pillow,因此我们需要通过pip手动安装:

pip install pillow

注意:尽管 PIL在Python3.x下改名为Pillow,但在导入模块时仍然使用PIL

ImageColor模块

该模块主要用于将CSS3颜色值转换成RGB元组

支持的颜色字符串

  • 十六进制颜色值
    该模块支持标准十六进制颜色值(#rrggbb)和简写(#rgb),例如 "#ff0000"和"f00"都能得到支持
  • RGB函数
    RGB函数即"rgb(red,green,blue)" ,变量的取值为0-255或0-100%
  • HSL(Hue-Saturation-Lightness)函数

H:Hue 色相
S:Saturation 饱和度
L:Lightness 明度

HSL函数即"hsl(hue,saturation%,lightness%)"

hue的范围为0-360(red=0,green=120,blue=240)
saturation的范围为0-100% (gray=0%,full color=100%)
lightness的范围为0-100% (black=0%,normal=50%,white=100%)

  • 通用HTML颜色名称(单词)
    支持标准颜色名称,并且对单词大小写不敏感

方法

  • getrgb(color)
    参数color为上述支持的颜色字符串
    返回rgb元组
#从PIL库中导入ImageColor模块
from PIL import ImageColor
print(ImageColor.getrgb("silver")) #(192,192,192)
print(ImageColor.getrgb("#f35772")) #(243,87,114)
print(ImageColor.getrgb("hsl(137,20%,50%)"))  #(102, 153, 116)
  • getcolor(color, mode)
    该方法类似于getrgb,如果mode不指定为颜色或调色板图像,该方法会将color转换成灰色值。
    返回RGB元组或数字

mode:模式,该参数决定图像中像素的类型和深度
pillow库支持以下mode:

  • 1 1位像素,表示黑和白,但是存储的时候每个像素存储为8bit
  • L 8位像素,表示黑和白
  • P 8位像素,使用调色板映射到其他模式
  • RGB 3x8位像素,为真彩色
  • RGBA 4x8位像素,有透明通道的真彩色
  • CMYK 4x8位像素,颜色分离
  • HSV 3x8位像素,色相、饱和度以及明度色彩空间
from PIL import ImageColor
print(ImageColor.getcolor("red","RGBA"))  #(255, 0, 0, 255)
print(ImageColor.getcolor("red","P")) #(255, 0, 0)
print(ImageColor.getcolor("red","L"))  #76
print(ImageColor.getcolor("red","1"))   #76

当传入的字符串无法被解析时,将会抛出ValueError异常

你可能感兴趣的:(PIL库——ImageColor模块)