玩蛇网提供最新Python编程技术信息以及Python资源下载!

python将色彩HSL转为RGB表示的方法

python 培训

这是我在网上看到的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.iplaypython.com

玩蛇网原创,转载请注明文章出处和来源网址:http://www.iplaypython.com/code/other/o2309.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-04-28 09:14 玩蛇网 www.iplaypython.com

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
去顶部去底部