bitmap — 두 가지 색을 표시하는 이미지

bitmap — 두 가지 색을 표시하는 이미지

Tk에서 단순한 두 가지 색만 쓰는 이미지가 필요할 때 bitmap 이미지가 딱이에요. 각 픽셀이 두 색 중 하나를 표시하거나 투명하게 처리돼요. source와 mask 두 개의 비트맵으로 정의되는 구조를 이해하면, 배경·전경 색과 투명 처리를 자유롭게 다룰 수 있어요.

출처: 문서

본문

문법

image create bitmap ?name? ?options?
imageName cget option
imageName configure ?option? ?value option value ...?

비트맵은 픽셀이 두 색 중 하나를 표시하거나 투명하게 처리될 수 있는 이미지예요.

비트맵 이미지는 네 가지로 정의돼요: 배경색(background color), 전경색(foreground color), 그리고 sourcemask라고 부르는 두 개의 비트맵이에요. 각 비트맵은 직사각형 픽셀 배열에 대한 0/1 값들을 지정하며, 두 비트맵은 같은 크기여야 해요.

  • mask가 0인 픽셀은 아무것도 표시하지 않아 투명 효과를 내요.
  • 그 외 픽셀은 source 데이터가 1이면 전경색, 0이면 배경색을 표시해요.

비트맵 만들기

모든 이미지처럼 비트맵도 image create 명령어로 만들어요. 비트맵은 다음 옵션들을 지원해요.

-background color

이미지의 배경색을 Tk가 받아들이는 표준 방식 중 아무 것으로나 지정. 이 옵션을 빈 문자열로 설정하면 배경 픽셀들이 투명해짐. 이 효과는 source 비트맵을 mask 비트맵으로 사용해 이뤄지며, -maskdata-maskfile 옵션은 무시됨.

-data string

source 비트맵의 내용을 문자열로 지정. 문자열은 X11 bitmap 형식을 따라야 함(예: bitmap 프로그램이 만드는 형식). -data-file 옵션이 모두 지정되면 -data 옵션이 우선.

-file name

name은 source 비트맵을 정의하는 내용이 담긴 파일의 이름. 파일은 X11 bitmap 형식을 따라야 함(예: bitmap 프로그램이 만드는 형식).

-foreground color

이미지의 전경색을 Tk가 받아들이는 표준 방식 중 아무 것으로나 지정.

-maskdata string

mask의 내용을 문자열로 지정. 문자열은 X11 bitmap 형식을 따라야 함(예: bitmap 프로그램이 만드는 형식). -maskdata-maskfile 옵션이 모두 지정되면 -maskdata 옵션이 우선.

-maskfile name

name은 mask를 정의하는 내용이 담긴 파일의 이름. 파일은 X11 bitmap 형식을 따라야 함(예: bitmap 프로그램이 만드는 형식).

이미지 명령어

비트맵 이미지를 만들면 Tk는 이미지와 같은 이름의 새 명령어도 만들어요. 이 명령어로 이미지에 여러 연산을 호출할 수 있어요. 일반적인 형태는 다음과 같아요.

imageName option ?arg arg ...?

optionargs가 명령어의 정확한 동작을 결정해요. 비트맵 이미지에 가능한 명령어는 다음과 같아요.

imageName cget option

구성 옵션 option의 현재 값을 반환. optionimage create bitmap 명령어가 받아들이는 값 중 아무거나 가질 수 있음.

imageName configure ?option? ?value option value ...?

이미지의 구성 옵션을 조회하거나 수정. option을 지정하지 않으면 imageName에 사용 가능한 모든 옵션을 설명하는 리스트를 반환(Tk_ConfigureInfo 참조). option을 값 없이 지정하면 그 하나의 옵션을 설명하는 리스트를 반환(option 없이 반환된 값의 해당 서브리스트와 동일). 하나 이상의 option-value 쌍을 지정하면 주어진 옵션들을 주어진 값들로 수정하며, 이 경우 빈 문자열을 반환. optionimage create bitmap 명령어가 받아들이는 값 중 아무거나 가질 수 있음.

더 알아보기

  • 관련 키워드: bitmap, image