2022. 3. 18. 14:47ㆍIT
얼마전에 '전자액자를 만들어볼까?' 하는 생각을 했었다. 한동안 애써 외면하다가 오늘은 필요한 사진이 있어 NAS를 뒤적이게 되었다. 사진이 엄청나게 많았고 찾고자 하는 사진을 찾는 것이 아니라 사진 감상을 하고 있었다. 그래서 다시 전자액자 프로젝트를 시작해 보려고 한다.
https://sohyemin.tistory.com/672
우선 간단하게 Slideshow가 되는 소스코드를 GeeksforGeeks에서 찾아서 테스트를 해 본다.
Python에서 PIL만 있으면 되고 간단한 소스가 제공되니까 한번 실행을 해 본다. 우선 라이브러리를 설치한다.
pip install image
다음은 간단한 코드를 복사해서 실행을 해 보도록 하자. 사진 파일명은 알아서 바꿔서 테스트 해 보자.
# import required modules
import tkinter as tk
from tkinter import *
from PIL import Image
from PIL import ImageTk
# adjust window
root = tk.Tk()
root.geometry("1024x768")
# loading the images
img = ImageTk.PhotoImage(Image.open("CRW_3550.jpg"))
img2 = ImageTk.PhotoImage(Image.open("CRW_3555.jpg"))
img3 = ImageTk.PhotoImage(Image.open("CRW_3568.jpg"))
l = Label()
l.pack()
# using recursion to slide to next image
x = 1
# function to change to next image
def move():
global x
if x == 4:
x = 1
if x == 1:
l.config(image=img)
elif x == 2:
l.config(image=img2)
elif x == 3:
l.config(image=img3)
x = x + 1
root.after(5000, move)
# calling the function
move()
root.mainloop()
이미지가 5초마다 바뀌면서 보여지는데 사진 파일이 가로, 세로가 각각 3000과 2000 픽셀을 넘으니 사진의 좌측 상단만 보여진다. 사진의 크기를 변경해서 테스트를 해 봐야겠다. 다음 사진으로 넘어가면서 어떤 effect는 생각하고 있지는 않다. 대략 1분 정도마다 사진을 바꿔서 화면에 꽉 차게 보여주는 정도면 나는 만족한다.
여기서 고려하고자 하는 것은
1. 사진의 비율에 맞춰서 상하 여백을 주고 사진을 화면에 가운데 표시한다. 단 여백은 검은색으로 칠한다.
2. 이번 포토 앨범에서는 세로사진은 배제하고 가로사진만 보여준다.
나중에 세로 사진 전용으로 만들어 볼까도 생각 중이다.
3. 좌측 하단에는 사진이 있는 폴더명, 우측하단에는 날짜를 표시한다.
4. 최종적으로는 라즈베리 파이에 프로그램을 설치해서 운용을 할 것이고 NAS에서 파일을 불러서 보여줄 예정이다.
사진 폴더로 지정된 하위 폴더를 랜덤으로 섞어서 보여주고자 한다.
'IT' 카테고리의 다른 글
#3 전자액자 프로젝트 - EXIF (0) | 2022.03.19 |
---|---|
#2 전자액자 프로젝트 - 사진보이기 (0) | 2022.03.19 |
파이썬 디컴파일 (python de-compile) (0) | 2022.03.18 |
UART 사용하기 (0) | 2022.03.13 |
전자액자, 파이썬, 라즈베리파이 (0) | 2022.02.12 |