image — 이미지 만들고 다루기
image — 이미지 만들고 다루기
위젯에 아이콘이나 그림을 넣으려면 그 전에 이미지 객체부터 만들어야 해요. Tk의 image 명령은 이미지를 만들고, 삭제하고, 조회하는 데 사용됩니다.
본문
개요
image 명령은 option 인자에 따라 여러 형태를 가질 수 있어요. 사용 가능한 형태는 다음과 같습니다.
image create type ?name? ?option value ...? — 새 이미지와 같은 이름의 명령을 만들고 그 이름을 돌려줍니다. type은 이미지의 유형으로, 현재 정의된 유형 중 하나여야 해요(예: bitmap). name은 이미지의 이름을 지정하며, 생략하면 Tk가 image 뒤에 정수가 붙은 형태의 이름을 고릅니다(image0처럼요). option-value 쌍은 원하는 만큼 쓸 수 있고, 새 이미지의 설정 옵션을 제공해요. 옵션의 유효한 집합은 이미지 유형마다 따로 정의됩니다. 주어진 이름의 이미지가 이미 있으면 새 이미지로 교체되고, 기존 인스턴스들은 새 내용으로 다시 표시돼요.
이미지 명령이 주어진 이름으로 현재 정의된 프로시저를 조용히 덮어쓴다는 점을 기억해야 해요. 그래서 이름을 신중히 골라야 합니다. 이미지 이름에 별도 네임스페이스를 쓰는 걸 추천해요(예: ::img::logo, ::img::large).
image delete ?name name ...? — 이름이 주어진 각 이미지를 삭제하고 빈 문자열을 돌려줍니다. 위젯에 이미지 인스턴스가 표시 중이면 모든 인스턴스가 해제될 때까지 실제로 삭제되지는 않아요. 다만 인스턴스와 이미지 매니저의 연결은 끊깁니다. 기존 인스턴스는 크기를 유지하지만 빈 영역으로 다시 표시돼요. 삭제된 이미지를 image create로 다시 만들면 기존 인스턴스들이 새 이미지를 사용합니다.
image height name — 이미지 name의 높이를 픽셀 단위로 나타낸 십진 문자열을 돌려줍니다.
image inuse name — name으로 주어진 이미지가 어떤 위젯에서 사용 중인지 여부를 나타내는 불리언 값을 돌려줍니다.
image names — 모든 기존 이미지의 이름을 포함하는 리스트를 돌려줍니다.
image type name — 이미지 name의 유형을 돌려줍니다(이미지 생성 시 image create의 type 인자 값).
image types — 모든 유효한 이미지 유형(즉 image create의 type 인자로 줄 수 있는 모든 값)을 요소로 하는 리스트를 돌려줍니다.
image width name — 이미지 name의 너비를 픽셀 단위로 나타낸 십진 문자열을 돌려줍니다.
이미지를 파일에 쓰는 것 같은 추가 작업은 이미지 인스턴스 명령의 서브커맨드로 제공될 수 있어요. 자세한 내용은 특정 이미지 유형의 매뉴얼 페이지를 참조하세요.
내장 이미지 유형
다음 이미지 유형은 Tk가 정의하므로 모든 Tk 응용에서 사용할 수 있어요. 개별 응용이나 확장이 추가 유형을 정의할 수도 있습니다.
bitmap — 이미지의 각 픽셀은 전경색, 배경색, 또는 아무것도 표시하지 않습니다. 자세한 내용은 bitmap 매뉴얼 항목을 참조해요.
photo — 다양한 풀컬러 이미지를 표시하며, 제한된 색 능력을 가진 디스플레이에서는 디더링(dithering)으로 색을 근사합니다. 자세한 내용은 photo 매뉴얼 항목을 참조하세요.