Python 将rgba颜色代码255255转换为1,1,1,1中的kivy颜色代码
为了在kivy中指定任何颜色值,我们需要指定从0到1的值,即。 颜色默认为[1,1,1,1],可以包含0到1之间的值,但是其他语言的rgba代码总是在0到255之间指定,我通常从任何web链接引用它们,如中所示 这甚至在各种python工具包示例pyQt库中都有帮助,但在kivy中则有所不同Python 将rgba颜色代码255255转换为1,1,1,1中的kivy颜色代码,python,colors,kivy,Python,Colors,Kivy,为了在kivy中指定任何颜色值,我们需要指定从0到1的值,即。 颜色默认为[1,1,1,1],可以包含0到1之间的值,但是其他语言的rgba代码总是在0到255之间指定,我通常从任何web链接引用它们,如中所示 这甚至在各种python工具包示例pyQt库中都有帮助,但在kivy中则有所不同 有人知道为什么它是从0到1指定的吗?是否有任何方法可以将各种其他语言使用的值编码为kivy颜色代码。例如,如果我想将rgb(192192)更改为kivy颜色代码,该怎么办?我想您可以将其除以255: fl
有人知道为什么它是从0到1指定的吗?是否有任何方法可以将各种其他语言使用的值编码为kivy颜色代码。例如,如果我想将rgb(192192)更改为kivy颜色代码,该怎么办?我想您可以将其除以255:
float_color = color / 255.0
如您所见,在Kivy中,前三个数字只是将RGB值重新缩放为0和1,最后一个是
alpha
。但是请记住,您可以设置模式,您可以使用hsv,而不是我想您不需要的。为了避免一些分割并加快速度:
虽然这并不能真正回答问题,但另一个简单的方法是使用kivy的十六进制功能,kv lang中的一个例子:
#:import hex kivy.utils.get_color_from_hex
canvas:
Color:
rgba: hex('#03A9F4')
查看更酷的功能,发现这个简单的东西,在这之前我经常去a转换十六进制到十进制rgb(因为我太懒了,不能将每个rgb值除以255)
:导入utils kivy.utils
:
按钮:
背景颜色:utils.从十六进制('#58AE6F')获取颜色。
这种方法的唯一问题是,您不能输入透明度,如果您希望使用透明度,您可以很好地使用我提到的获取“rgb”的小数,并在“rgba”中使用透明度百分比作为“a”值。您可以执行以下操作
(**255**/255.0, **160**/255.0, **0**/255.0, 1)
因此,您需要做的是将RGB值除以255.0,这样上面的颜色将为您提供橙色。所有带有**的数字将为您的RBG颜色。看起来它可以完成此任务:)我只想指出,这个例子中的注释不是注释,而是定义了
hex
函数。你可以使用这个页面来使用它。你只需要你想要的颜色的十六进制代码,然后你就可以使用开头显示的RGB值。如果他们也将十六进制添加到rgba中,那就太好了。