Pillow 提供了顏色處理模塊 ImageColor,該模塊支持不同格式的顏色,比如 RGB 格式的顏色三元組、十六進(jìn)制的顏色名稱(#ff0000)以及顏色英文單詞("red")。同時,它還可以將 CSS(層疊樣式表,用來修飾網(wǎng)頁)風(fēng)格的顏色轉(zhuǎn)換為 RGB 格式。
注意,在 ImageColor 模塊對顏色的大小并不敏感,比如 "Red" 也可以寫為 " red"。
ImageColor 支持多種顏色模式的的命名(即使用固定的格式對顏值進(jìn)行表示),比如我們熟知的 RGB 色彩模式,除此之外,還有 HSL (色調(diào)-飽和度-明度)、HSB (又稱 HSV,色調(diào)-飽和度-亮度)色彩模式。下面對 HSL 做簡單介紹:
下面使用 HSL 色彩模式表示紅色,格式如下:
HSL(0,100%,50%)
此時的顏色為“純紅色”,等同于 RGB (255,0,0)。
ImageColor 模塊比較簡單,只提供了兩個常用方法,分別是? getrgb()
? 和 ?getcolor()
? 函數(shù)。
顧名思義,該函數(shù)用來得到顏色的 RGB 值,語法格式如下:
PIL.ImageColor.getrgb(color)
使用示例如下:
from PIL import Image,ImageColor
# getrgb()方法
color1=ImageColor.getrgb("blue")
print(color1)
color2=ImageColor.getrgb('#DCDCDC')
print(color2)
#使用HSL模式紅色
color3=ImageColor.getrgb('HSL(0,100%,50%)')
print(color3)
輸出結(jié)果如下:
(0, 0, 255) (220, 220, 220) (255, 0, 0)
通過 ?new()
? 方法可以新建圖像,此時也可以使用 ?ImageColor.getrgb()
?,如下所示:
from PIL import Image,ImageColor
#使用new()繪制新的圖像
im= Image.new("RGB", (200, 200), ImageColor.getrgb("#EEB4B4"))
im.save("./xin.jpg")
顯示圖片如下:
圖1:新建圖像
該方法與 ?getrgb()
? 類似,同樣用來獲取顏色值,不過它多了一個??mo?d?e?參數(shù)?,因此該函數(shù)可以獲取指定色彩模式的顏色值。語法格式如下:
PIL.ImageColor.getcolor(color, mode)
參數(shù)說明如下:
使用示例如下:
color4=ImageColor.getcolor('#EEA9B8','L')
print(color4)
color5=ImageColor.getcolor('yellow','RGBA')
print(color5)
輸出結(jié)果:
191 (255, 255, 0, 255)
更多建議: