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

Tkinter에서 ImageTk.PhotoImage로 이미지 크기 조절하기


파이썬의 PIL 또는 Pillow 라이브러리는 Tkinter 애플리케이션에서 이미지를 처리할 때 가장 널리 사용되는 도구입니다. Pillow를 활용하면 이미지 파일을 불러오고, 원하는 크기로 조절한 뒤 창에 표시할 수 있습니다.

이미지 크기를 조절하려면 image.resize((width, height), **options) 메서드를 사용합니다. 이 메서드는 지정한 너비와 높이에 맞게 이미지를 변환하며, 선택적으로 필터 옵션을 함께 지정할 수도 있습니다. 리사이즈된 이미지는 ImageTk.PhotoImage 객체로 변환한 후 Label 위젯을 통해 화면에 출력됩니다.

예제 코드

아래 예제는 이미지를 불러온 후 크기를 조절하여 Label 위젯을 통해 창에 표시하는 과정을 보여줍니다.

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

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

# tkinter 윈도우 크기 설정
win.geometry("700x350")

# 이미지 불러오기
image = Image.open('download.png')

# 지정한 (너비, 높이)로 이미지 크기 조절
img = image.resize((450, 350))

# 이미지를 TkImage 객체로 변환
my_img = ImageTk.PhotoImage(img)

# Label 위젯으로 이미지 표시
label = Label(win, image=my_img)
label.pack()

win.mainloop()

실행 결과

위 코드를 실행하면 창 안에서 크기가 조절된 이미지가 나타납니다. resize() 메서드에 전달한 (450, 350) 값에 따라 이미지가 해당 크기로 변환되어 Label에 표시되는 것을 확인할 수 있습니다.

참고: resize() 시 Image.LANCZOS, Image.BICUBIC 같은 리샘플링 필터를 두 번째 인자로 전달하면 확대·축소 시 더 부드럽고 자연스러운 결과를 얻을 수 있습니다.

Tkinter에서 ImageTk.PhotoImage로 이미지 크기 조절하기