将rgba颜色代码255,255,255,255转换为1,1,1,1中的kivy颜色代码

时间:2014-04-08 08:58:30

标签: python colors kivy

为了在kivy中指定任何颜色值,我们需要指定从0到1的值,即 color默认为[1,1,1,1]并且可以包含0到1之间的值,但是其他语言随时可用的rgba代码总是从0到255指定,我通常从任何Web链接引用它们,如 http://www.rapidtables.com/web/color/RGB_Color.htm

这甚至在各种python工具包示例pyQt库中也有帮助,但在kivy中它的不同。

有没有人知道为什么它从0到1指定,以及是否有任何方法可以将各种其他语言使用的值编码为kivy颜色代码。例如,如果我想将rgb(192,192,192)改为kivy颜色代码怎么办?

6 个答案:

答案 0 :(得分:14)

我认为你可以把它除以255:

float_color = color / 255.0

答案 1 :(得分:4)

为了避免某些分歧并加快速度:

http://www.corecoding.com/utilities/rgb-or-hex-to-float.php

答案 2 :(得分:3)

虽然这并没有真正回答这个问题,但另一种简单的方法是使用kivy的十六进制功能,这是kv lang中的一个例子:

#:import hex kivy.utils.get_color_from_hex
    canvas:
        Color:
            rgba: hex('#03A9F4')

答案 3 :(得分:3)

查看kivy.utils以获得更酷的功能,发现这很简单,在此之前,我曾经去过site将十六进制转换为十进制rgb(因为我太懒了,无法划分每个rgb值乘以255。

#:import utils kivy.utils <MainWindow>: Button: background_color: utils.get_color_from_hex('#58AE6F')

此方法的唯一问题是您无法输入透明度,如果您想使用透明度,则可以很好地使用我提到的site来获取'rgb'的小数,并使用透明度百分比作为“ rgba”中的“ a”值。

答案 4 :(得分:0)

正如你所看到的here,在Kivy中,前三个数字只是将RGB值重新缩放为0和1,最后一个是alpha。但请记住,您可以设置模式,您可以使用hsv,而不是我猜您不需要。

答案 5 :(得分:0)

您可以执行以下操作。

(**255**/255.0, **160**/255.0, **0**/255.0, 1)

所以你需要做的是将你的RGB值除以255.0,这样上面的颜色就会给你橙色。所有带有 ** 的数字都将是您的 RBG 颜色。