사진 보기 프로그램
이번 시간에는 파이썬으로 이미지 뷰어 프로그램을 만들어 보겠습니다.
이미지 뷰어는 사진 파일을 선택하면 화면에 사진을 보여주는 프로그램입니다.
우리가 스마트폰이나 컴퓨터에서 사진을 열어 보는 것처럼, 파이썬으로도 간단한 사진 보기 프로그램을 만들 수 있습니다.
1. 이미지 뷰어란?
이미지 뷰어는 말 그대로 이미지를 보는 프로그램입니다.
예를 들어 다음과 같은 파일을 열 수 있습니다.
- JPG 사진
- PNG 이미지
- GIF 이미지
이번 예제에서는 파이썬의 tkinter와 Pillow 라이브러리를 사용합니다.
2. 필요한 라이브러리 설치
이미지를 화면에 보여주기 위해 Pillow라는 라이브러리가 필요합니다.
명령 프롬프트 또는 터미널에서 아래 명령어 중 하나를 입력합니다.
pip install pillow
py -버전 -m pip install requests
버전확인 python --version
python -m pip install pillow
3. 프로그램 전체 코드
import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk
# 이미지 파일 열기 함수
def open_image():
file_path = filedialog.askopenfilename(
title="이미지 파일 선택",
filetypes=[
("이미지 파일", "*.jpg *.jpeg *.png *.gif *.bmp"),
("모든 파일", "*.*")
]
)
if file_path:
image = Image.open(file_path)
# 이미지 크기 조절
image = image.resize((500, 350))
photo = ImageTk.PhotoImage(image)
image_label.config(image=photo)
image_label.image = photo
file_name_label.config(text=file_path)
# 기본 창 만들기
window = tk.Tk()
window.title("파이썬 이미지 뷰어")
window.geometry("600x500")
# 제목 라벨
title_label = tk.Label(
window,
text="이미지 뷰어 프로그램",
font=("맑은 고딕", 20)
)
title_label.pack(pady=10)
# 이미지 열기 버튼
open_button = tk.Button(
window,
text="이미지 열기",
font=("맑은 고딕", 14),
command=open_image
)
open_button.pack(pady=10)
# 이미지가 표시될 라벨
image_label = tk.Label(window)
image_label.pack(pady=10)
# 파일 경로 표시 라벨
file_name_label = tk.Label(
window,
text="선택된 이미지가 없습니다.",
font=("맑은 고딕", 10),
wraplength=550
)
file_name_label.pack(pady=10)
# 창 실행
window.mainloop()
4. 코드 설명
1) 필요한 도구 가져오기
import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk
tkinter는 파이썬에서 창을 만들 때 사용하는 도구입니다.
filedialog는 파일을 선택할 수 있는 창을 열어 줍니다.
Image, ImageTk는 사진 파일을 열고 tkinter 화면에 보여주기 위해 사용합니다.
2) 이미지 파일 선택하기
file_path = filedialog.askopenfilename()
이 코드는 사용자가 컴퓨터에서 이미지 파일을 고를 수 있게 해줍니다.
쉽게 말하면 사진 선택 창을 여는 코드입니다.
3) 이미지 열기
image = Image.open(file_path)
사용자가 선택한 사진 파일을 파이썬이 읽어옵니다.
4) 이미지 크기 조절하기
image = image.resize((500, 350))
사진이 너무 크면 창을 벗어날 수 있습니다.
그래서 가로 500, 세로 350 크기로 줄여 줍니다.
5) tkinter에서 보여줄 수 있게 바꾸기
photo = ImageTk.PhotoImage(image)
파이썬이 읽은 이미지를 tkinter 창에 표시할 수 있는 형태로 바꿉니다.
6) 화면에 이미지 표시하기
image_label.config(image=photo)
image_label.image = photo
선택한 이미지를 화면에 보여줍니다.
여기서 image_label.image = photo를 쓰는 이유는 이미지가 사라지지 않게 저장해 두기 위해서입니다.
5. 실행 결과
프로그램을 실행하면 작은 창이 열립니다.
이미지 열기 버튼을 누르면 사진 파일을 선택할 수 있습니다.
사진을 선택하면 화면 가운데에 사진이 표시됩니다.
6. 더 만들어 볼 수 있는 기능
이미지 뷰어가 완성되면 다음 기능도 추가할 수 있습니다.
- 다음 사진 보기
- 이전 사진 보기
- 이미지 확대하기
- 이미지 축소하기
- 이미지 회전하기
- 폴더 안의 모든 이미지 보기
이 기능들을 추가하면 실제 사진 뷰어 프로그램처럼 만들 수 있습니다.
7. 마무리
이번 시간에는 파이썬으로 이미지 뷰어 프로그램을 만들어 보았습니다.
tkinter로 창을 만들고, Pillow로 이미지를 불러와 화면에 보여주었습니다.
처음에는 단순히 사진을 여는 프로그램이지만, 기능을 조금씩 추가하면 멋진 이미지 관리 프로그램으로 발전시킬 수 있습니다.
이미지 뷰어 만들기

'강의 > Python 기초' 카테고리의 다른 글
| Chapter 23. GUI 달력 프로그램 만들기 (0) | 2026.06.13 |
|---|---|
| Chapter 22. 그림판 만들기 (0) | 2026.06.13 |
| Chapter 20. GUI 메모장 만들기 (0) | 2026.06.11 |
| Chapter 19. GUI 계산기 만들기 (1) | 2026.06.11 |
| Chapter 18. 폴더 용량 계산기 (0) | 2026.06.11 |