메뉴 건너뛰기

enjoyTools.net

Kivy 테마 -> Atlas 사용

2018.02.03 17:10

꿈돌이 조회 수:4530

Atlas 수정

https://www.codementor.io/kiok46/theming-in-kivy-0-yt8c94mbb

>> https://github.com/squarrel/kivy-themes

 

구글 머티리얼 디자인

https://gitlab.com/kivymd/KivyMD

 

Atlas 설명

https://kivy.org/docs/api-kivy.atlas.html

 

오락에서 많이 쓰는 스프라이트 아미지 또는 스프라이트 시트, 에 대한 설명 동영상

https://www.codeandweb.com/what-is-a-sprite-sheet

https://www.codeandweb.com/what-is-a-sprite-sheet-performance

 

 

원래 Kivy의 색상 표현 방식이 웹의 CSS 아이콘폰트처럼 이미지의  특정 영역을 잡아서 보여주는 방식인 것 같다.

텍스처 지도(Texture Atlas)라는 용어는 이번에 처음 듣는 말인데 어쨌든 저렇게 쓴다고 한다.

 

필요한 이미지를 만들어서 atlas라는 이름으로 custom button을 만들어주면 되는 것 같다.

 

대상 버튼 속성: background_down

 

 

Kivy의 기본 테마가 워낙 개떡 같아서 해보긴 해야하는데,

일단 나중에...

 


 

해보니까... 텍스처지도를 쓰는게 맞다.

 

지도 생성

- 아래 용법 또는 예시대로 지도를 생성하면 *.atlas와 *-0.png 파일이 생성된다.

- 텍스처 지도 생성시 이미지 하나 및 한 방향당 1픽셀씩 여유를 둔다.

  예를 들어 256, 256 이미지 4개를 하나로 합치려면 지도 크기는 512x512가 아니라 516x516이 되어야 한다.

# 용법:
python -m kivy.atlas <basename> <size> <list of images...>
# 예시:
python -m kivy.atlas use_path myatlas 516x516 *.png

 

지도 사용

- 아래와 같은 식으로 사용한다.

- json 항목명은 합치기 전의 이미지 파일명이다.

# 용법
atlas://실행된 py 파일 경로/지도가 저장된 경로/atlas 파일명/json 항목명

# kvlang 사용예:
Button:
  text: '버튼'
  background_normal: 'atlas://theme/basic/buttons/btn_bg'
  background_down: 'atlas://theme/basic/buttons/btn_bg_pressed'

 

끝.