Python은 PIL 또는 Pillow 패키지를 지원합니다. Pillow는 다양한 형식의 이미지 파일을 열고, 편집하고, 저장할 수 있는 오픈소스 라이브러리로, Tkinter 애플리케이션에서도 손쉽게 활용할 수 있습니다.
Tkinter의 Label 위젯은 텍스트뿐만 아니라 이미지도 화면에 표시할 수 있는 대표적인 위젯입니다. Label 위젯을 사용해 Tkinter 애플리케이션에 이미지를 출력하려면 아래 단계를 따르면 됩니다.
이미지 표시 절차
- 시스템에 Pillow(PIL) 패키지가 설치되어 있는지 확인합니다.
ImageTk.PhotoImage(file=파일경로)함수를 사용해 이미지를 변수로 불러옵니다.- Label 위젯을 생성하고
image옵션에 불러온 이미지 객체를 할당합니다. - 코드를 실행하여 창에 이미지가 정상적으로 표시되는지 확인합니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
from PIL import Image, ImageTk
# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x470")
# 이미지를 불러와 Tkinter PhotoImage 객체로 변환
bg = ImageTk.PhotoImage(file="baseball.png")
# 이미지를 표시할 Label 위젯 추가
label = Label(win, image=bg)
label.place(x=0, y=0)
win.mainloop()실행 결과
위 코드를 실행하면 Tkinter 윈도우 안에 지정한 이미지가 나타납니다. 이처럼 Pillow의 ImageTk.PhotoImage 클래스는 PNG, JPG 등 다양한 이미지 포맷을 Tkinter에서 사용할 수 있는 PhotoImage 객체로 변환해 주며, 배경 이미지나 아이콘 등 GUI 요소에 활용하기 좋습니다.