2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Python图像处理库PIL的ImageColor模块介绍

Python图像处理库PIL的ImageColor模块介绍

时间:2020-06-22 11:20:42

相关推荐

Python图像处理库PIL的ImageColor模块介绍

ImageColor模块包括颜色表格和从CSS3样式颜色转化为RGB元组的转换器。除了别的,这个模块多用于Image.new函数和ImageDraw模块。

一、ImageColor模块支持的字符串

ImageColor模块支持的字符串格式如下:

1、 十六进制颜色说明符

定义为“#rgb”或者“#rrggbb”。例如,“#ff0000”表示纯红色。

2、 RGB函数

定义为“rgb(red, green,blue)”,变量red、green、blue的取值为[0,255]之间的整数。另外,颜色值也可以为[0%,100%]之间的三个百分比。例如,“rgb(255, 0, 0)”和“rgb(100%, 0%, 0%)”都表示纯红色。

3、 HSL(Hue-Saturation-Lightness)函数

定义为“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%)。例如,“hsl(0, 100%, 50%)”为纯红色。

4、 通用HTML颜色名称

ImageColor模块提供了140个标准颜色名称,Xwindow系统和大多数web浏览器都支持这些颜色。颜色名称对大小写不敏感。例如,“red”和“Red”都表示纯红色。

二、ImageColor模块的函数

1、 Getrgb

定义:getrgb(color) ⇒ (red, green, blue)

含义:(New in 1.1.4)将颜色字符串转换为RGB元组。如果字符串不能被解析,该函数将产生ValueError异常。

例子:

>>> from PIL import ImageColor

>>>ImageColor.getrgb("#ff0000")

(255, 0, 0)

>>>ImageColor.getrgb("rgb(255,0,0)")

(255, 0, 0)

>>>ImageColor.getrgb("rgb(100%,0%,0%)")

(255, 0, 0)

>>>ImageColor.getrgb("hsl(0,100%,50%)")

(255, 0, 0)

>>>ImageColor.getrgb("red")

(255, 0, 0)

>>>ImageColor.getrgb("Red")

(255, 0, 0)

上述例子使用六种方式来产生红色。

2、 getcolor

定义:getcolor(color,mode) ⇒ (red, green,blue) or integer

含义:(New in 1.1.4)和函数getrgb()功能一样,但是如果变量mode不是颜色或者调色板图像,它将RGB值转换为灰色值。如果字符串不能被解析,该函数将产生ValueError异常。

例子:

>>>from PIL import ImageColor

>>>ImageColor.getcolor("Red", "RGB")

(255, 0, 0)

>>>ImageColor.getcolor("Red", "L")

76

>>>ImageColor.getcolor("Red", "P")

(255, 0, 0)

>>>ImageColor.getcolor("Red", "1")

76

>>>ImageColor.getcolor("rgb(200,0,0)", "1")

59

由上面的例子可看出来,如果变量mode不是“RGB”或者“P”的时候,该函数会将颜色转换为一个整数,即灰度值。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。