2017-09-29 1 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)은 영향을 미치는 유일한 샤넬 인 알파에 영향을주지 않습니다. 아이콘의 검은 부분을 채색하려면 이미지 편집기에서 거꾸로 된 버전을 만들어이 색상 속성을 사용하고 서로 위에 두 버전을 사용하여 색상 조합을 만듭니다. . – Tshirtman

+1

대단하군요! 많은 아이콘이 검은 색으로 표시되므로 imagemagick을 사용하여 향후 시청자를 위해이 코드를 추가 할 것입니다. ''ls * .png'의 i에 대해서; $ {i %. *} .png 결과/$ {i %. *}. ngate 변환하기 .png; done' 이렇게하면 이미지가 검은 색에서 흰색으로 바뀌므로 PalimPalim에서 제출 한 코드를 사용할 수 있습니다 –

관련 문제