集成Kivy标签和图标的最佳方式

时间:2017-09-29 13:48:47

标签: python colors icons png kivy

我从https://github.com/iconic/open-iconic下载了一堆图标 图标最初为黑色,采用.png格式。

我想在我的画布上添加一个向上箭头。

我找到了导入图标的一种方法,但问题是我无法更改图标颜色。我可以在Kivy中更改图标颜色,还是需要为我将使用的每种颜色创建单独的.png图像?

<VitalBoard>:
canvas:
    Color:
        rgba: 0.17, 0.89, 0.89, 1
        hsv: 0.48, 0.80, 0.34
    Rectangle:
        pos: root.width * 2 / 3 + 20, root.height * 13 / 24 + 20
        size: root.width * 2 / 6 - 10 , root.height * 9 / 24 - 20
Label:
    font_size: 70
    text: "0"
    pos: root.width * 2 / 3 + 20, root.height * 13 / 24 + 20
    size: root.width * 2 / 6 - 10 , root.height * 9 / 24 - 20
    Image:
        source: 'open-iconic/png/arrow-thick-top-8x.png'
        pos: root.width * 2 / 3 + 20, root.height * 13 / 24 + 20
        size: root.width * 2 / 6 - 10 , root.height * 9 / 24 - 20
        width: 74

1 个答案:

答案 0 :(得分:1)

Kivy在图片https://kivy.org/docs/api-kivy.uix.image.html#kivy.uix.image.Image.color

上有颜色属性

enter image description here

看起来黑色和透明不会被它改变。但白色可以改变。

GridLayout:
    cols:4
    canvas.before:
        Color:
            rgba: [1,1,1,1]
        Rectangle:
            pos: self.pos
            size: self.size

    Image:
        source: 'arrow-bottom-8x.png'
    Image:
        source: 'arrow-bottom-8x.png'
        color: [1,0,0,1]
    Image:
        source: 'arrow-bottom-8x.png'
        color: [0,1,0,1]
    Image:
        source: 'arrow-bottom-8x.png'
        color: [0,0,1,1]
    Image:
        source: 'download.png'
    Image:
        source: 'download.png'
        color: [1,0,0,1]
    Image:
        source: 'download.png'
        color: [0,1,0,1]
    Image:
        source: 'download.png'
        color: [0,0,1,1]

我认为您需要手动或在kivy之外进行。您可能需要查看此处https://stackoverflow.com/a/1616893/6646710