Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Tkinter 창에 JPEG 이미지 삽입하는 방법

Tkinter에서 JPEG 이미지 다루기

Python은 Pillow(PIL) 패키지를 제공하여 tkinter 애플리케이션에서 이미지를 지원, 처리, 표시할 수 있도록 도와줍니다. 기본적으로 Tkinter 애플리케이션은 ppm, png, gif 형식의 이미지 파일을 지원하지만, JPEG나 JPG 이미지를 직접 표시하려면 Pillow 패키지가 필요합니다.

이번 글에서는 애플리케이션 창에 JPEG 이미지를 불러와 화면에 표시하는 방법을 살펴보겠습니다.

Label 위젯을 활용한 이미지 표시

Tkinter의 Label 위젯은 일반적으로 창에 텍스트나 이미지를 표시할 때 사용됩니다. Pillow로 열어 변환한 이미지 객체를 Label 위젯의 image 값으로 전달하면, 손쉽게 JPEG 이미지를 창에 출력할 수 있습니다.

사전 준비

먼저 아래 명령어로 Pillow 패키지를 설치해야 합니다.

pip install Pillow

예제 코드

# 필요한 라이브러리 임포트
from tkinter import *
from PIL import ImageTk, Image

# tkinter 윈도우 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("650x400")

# 파일 경로를 변수에 저장
path = "file.jpg"

# ImageTk 객체 생성
img = ImageTk.PhotoImage(Image.open(path))

# 텍스트 또는 이미지를 표시할 Label 위젯 생성
label = Label(win, image=img)
label.pack(fill="both", expand="yes")

win.mainloop()

코드 설명

1. 라이브러리 임포트: tkinter의 모든 모듈과 Pillow의 ImageTk, Image 클래스를 가져옵니다.

2. 윈도우 생성: Tk()로 메인 윈도우를 만들고 geometry() 메서드로 크기를 650x400 픽셀로 지정합니다.

3. 이미지 로딩: Image.open()으로 JPEG 파일을 연 뒤, ImageTk.PhotoImage()로 tkinter에서 사용 가능한 이미지 객체로 변환합니다.

4. Label 위젯 배치: image 옵션에 변환된 이미지 객체를 전달하고, pack(fill="both", expand="yes")를 사용해 윈도우 전체에 이미지가 꽉 차도록 배치합니다.

실행 결과

위 코드를 실행하면 Label 위젯의 image 값으로 전달된 JPEG 이미지가 윈도우에 나타납니다. 윈도우 크기를 조절하면 이미지도 함께 늘어나거나 줄어듭니다.