2017-09-29 2 views
0

https://github.com/iconic/open-iconic アイコンは元々黒で、.png形式です。Kivyのラベルとアイコンを統合する最も良い方法

私のキャンバスに上向きの矢印を追加したいと思います。

アイコンをインポートする方法が見つかりましたが、アイコンの色を変更できないという問題がありました。 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 
+0

kivy内の画像の色を変更することはできません。それらをkivyにロードする前に、ペイントプログラムでそれらを変更する必要があります。 –

答えて

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

+1

これは正しいです。色は乗算によってピクセルに色を付けるために使用されるため、白色(1,1,1)が指定された色調に変換され、黒(0,0,0,1)不透明度シャネル、透明(X、X、X、0)は重要なシャネル(アルファ)には影響しません。アイコンの黒い部分を着色したい場合は、画像エディタで反転版を作成し、この版のcolor属性を使用し、両版を重ねて使用して色の組み合わせを作成する価値があります。 – Tshirtman

+1

これは素晴らしいことです!多くのアイコンが黒く表示されるので、私はimagemagickを使用して将来の視聴者にこのコードを追加します。'ls * .png'のiのために; $ {i%。*} .png results/$ {i%。*} .png;を変換します。 done' これは画像を黒から白に反転させるので、PalimPalimが提出したコードを使用することができます –

関連する問題