본문 바로가기

Programming/Python Program

이미지에 나의 서명(signature) 만들어 넣기 with python program - 2

from PIL import Image, ImageDraw, ImageFont
import os, glob

target_image = Image.open('/Users/SH/Desktop/Signature/python_logo.png')
fontsFolder = '/Library/Fonts/'
selectedFont = ImageFont.truetype(os.path.join(fontsFolder,'Zapfino.ttf'),15)
draw = ImageDraw.Draw(target_image)
draw.text((200,150), 'Creative Works for jason', fill='white', font=selectedFont)
target_image.save('/Users/SH/Desktop/mySignature.png')


앞 시간에 작성한 이미지에 서명 만들어 넣기 코드이다.


이번에는 한 장이 아니라 여러장을 동시에, 그리고 서명의 위치를 동적으로 자리 잡게하는 코딩을 해 보려고 한다.


상기의 코드를 조금 수정하여 아래와 같이 변형하였습니다.

1. 서명을 넣어줄 이미지들이 담겨있는 폴더를 지정하고, 폴더 내의 모든 파일들을 찾아(glob) images 변수에 넣어 주었다.

2. 반복문을 사용하여 각각의 이미지의 사이즈(width, height)를 찾아 각각의 변수 width, height 에 할당해 주었습니다.

3. 이미지의 사이즈에서 가로 30%, 세로 80% 에서 사인을 시작하게끔 설정하였습니다.

4. 각 이미지의 파일 이름을 찾아서 저장해 줄 폴더명으로 변경하고 이미지의 이름은 그대로 저장하게 하였습니다. 


아래와 같이 3 장의 이미지를 상기에서 설정한 폴더에 넣어주었습니다. 그리고 위의 프로그램을 실행 시킵니다.

실행 결과는 아래와 같이 각 이미지의 가로, 세로 30%, 80% 지점에서 서명을 시작하고 있습니다. 




여기까지는 여러장의 이미지에 한꺼번에 서명을 동적인 위치에 넣어주게 하였습니다. 다음 단계는 특정 폴더에 이미지를 떨구기만 하면, 서명이 된 이미지를 뱉어내게 하는 일만 남았습니다. 읽어주셔서 감사합니다.