我正在尝试为变量设置某些值。变量用于确定十六进制颜色是绿色,红色,蓝色,绿色和红色,蓝色和红色,还是绿色和蓝色。
我试图设置的值以确定某些东西是绿色和红色而不仅仅是红色或只是绿色是具有一定的数字范围,其中某些东西将被限定为绿色和红色等......
E.G:FF0000 =红色。 A1A100 =红色和绿色,A1C124 =红色和绿色。
我的A1C124代码在我的脚本中会有问题,因为很难说
if
Red > Green or \
Red = Green and \
Red > Blue
print red and green.
因为如果要运行该代码,任何明显红色的东西也会变成绿色和红色。
所以相反,我试图设置一个限制,比绿色可以更大,反之亦然。为此,我需要设置一个范围。
有些事情:
redGreen = green +1
redGreen2 = green -1
redGreen3 = green + 2
redGreen4 = green - 2
然后我会设置类似的代码:
if red > blue and \
green > blue:
redGreen = green +1
redGreen2 = green -1
redGreen3 = green + 2
redGreen4 = green - 2
print "This colour is red and green"
但是有两个问题。
上面的代码不起作用,因为它只是将+ 1替换为+2,而将负值替换为相同的值,而且对于我的生活,我无法理解任何教我这个的教程。
那么,有没有人知道如何设定范围?或者如果有更好的方法,你能解释一下它是什么吗?
答案 0 :(得分:4)
诚然,我没有设法完全关注你的帖子。但是,有可能将有问题的颜色转换为HSV space并仅查看色调值,这将简化您的尝试。
Python提供了执行此转换的函数colorsys.rgb_to_hsv()
。