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

paa*_*tra 9 python colors kivy

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

这有助于甚至在各种python工具包示例中pyQt库然而在kivy中它的不同.

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

geo*_*org 15

我想你可以把它除以255:

float_color = color / 255.0
Run Code Online (Sandbox Code Playgroud)


raz*_*bee 5

尽管这并不能真正回答问题,但是另一种简单的方法是使用kivy的hex功能,这是kv lang中的一个示例:

#:import hex kivy.utils.get_color_from_hex
    canvas:
        Color:
            rgba: hex('#03A9F4')
Run Code Online (Sandbox Code Playgroud)

  • 我只想指出这个例子中的 COMMENT 不是注释而是实际定义了 `hex` 函数 (3认同)

Rit*_*eak 5

查看kivy.utils以获得更酷的功能,发现这个简单的事情,在此之前我曾经去过一个将十六进制转换为十进制rgb的网站(因为我懒得将每个rgb值除以255。

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

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