python表示颜色的代码_python将色彩HSL转为RGB表示的方法

这是我在网上看到的python将色彩HSL转为RGB表示的方法。不知道什么地方会用到,但相信一定有人需要,就贴出来分享给有需要用的朋友们。

代码没经测试,直接贴来的!

def HSL2RGB(h, s, l):

u"HSL -> RGB,返回一个元组,格式为:(r, g, b)"

if s > 0:

v_1_3 = 1.0 / 3

v_1_6 = 1.0 / 6

v_2_3 = 2.0 / 3

q = l * (1 + s) if l < 0.5 else l + s - (l * s)

p = l * 2 - q

hk = h / 360.0 # h 规范化到值域 [0, 1) 内

tr = hk + v_1_3

tg = hk

tb = hk - v_1_3

rgb = [

tc + 1.0 if tc < 0 else

tc - 1.0 if tc > 1 else

tc

for tc in (tr, tg, tb)

]

rgb = [

p + ((q - p) * 6 * tc) if tc < v_1_6 else

q if v_1_6 <= tc < 0.5 else

p + ((q - p) * 6 * (v_2_3 - tc)) if 0.5 <= tc < v_2_3 else

p

for tc in rgb

]

rgb = tuple(int(i * 256) for i in rgb)

# s == 0 的情况

else:

rgb = l, l, l

return rgb

#www.iplaypy.com

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/other/o2309.html

相关文章 Recommend

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值