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

Tkinter에서 PIL(Pillow)을 사용하는 방법

파이썬의 PIL 또는 Pillow 패키지는 프로그램 내에서 이미지를 처리할 수 있게 해주는 강력한 라이브러리입니다. 이를 활용하면 이미지를 불러오고, 다양한 용도에 맞게 편집·조작할 수 있으며, 데이터를 시각화하는 데에도 사용할 수 있습니다.

Tkinter 애플리케이션에서 PIL 패키지를 사용하려면 먼저 개발 환경에 Python Pillow 라이브러리가 설치되어 있어야 합니다.

Pillow 설치하기

설치 방법은 매우 간단합니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 실행하세요.

pip install pillow

설치가 성공적으로 완료되면 프로젝트에서 모듈을 임포트하여 본격적인 구현을 시작할 수 있습니다.

예제: 캔버스 위젯에 이미지 표시하기

다음 예제는 Pillow 패키지를 사용하여 Tkinter의 캔버스(Canvas) 위젯에 이미지를 출력하는 방법을 보여줍니다.

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

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

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

# 캔버스 위젯 생성
canvas = Canvas(win, width=700, height=350)
canvas.pack()

# 이미지 로드
img = ImageTk.PhotoImage(file="opera.jpg")

# 캔버스에 이미지 추가
canvas.create_image(350, 200, image=img, anchor="center")

win.mainloop()

코드 설명

ImageTk.PhotoImage 클래스는 Pillow로 불러온 이미지를 Tkinter에서 사용할 수 있는 형태로 변환해 주는 역할을 합니다. create_image() 메서드의 첫 번째와 두 번째 인수는 이미지가 배치될 x, y 좌표를 나타내며, anchor="center" 옵션은 지정된 좌표를 이미지의 중심점으로 맞추라는 의미입니다.

참고: PhotoImage 객체는 전역 변수 또는 클래스 속성 형태로 참조를 유지해야 합니다. 함수 내부의 지역 변수로 선언하면 함수가 종료된 후 가비지 컬렉터에 의해 객체가 삭제되어 이미지가 화면에 나타나지 않는 문제가 발생할 수 있습니다.

실행 결과

위 코드를 실행하면 700×350 크기의 윈도우가 열리고, 지정한 이미지(opera.jpg)가 캔버스 중앙에 표시됩니다.

Tkinter에서 PIL(Pillow)을 사용하는 방법