[Python] 티스토리 썸네일 이미지 만들기
- 자아실현/파이썬
- 2020. 12. 28.
개요
가끔 티스토리 게시물 중 삽입된 사진이 없으면 마땅한 썸네일이 없는 경우가 있습니다. 파이썬으로 아래와 같은 썸네일을 간단히 만드는 코드를 작성하여, 앞으로 이용해보고자 합니다. 이미지 프로세스에 매우 많이 사용하는 Pillow 라이브러리를 이용하여 간단히 작업을 진행할 수 있습니다.
준비물 :
- Pillow (없다면 커맨드 라인에서 'pip install Pillow' 로 설치)
- 폰트 : 네이버 나눔 스퀘어 hangeul.naver.com/2017/nanum) (다른 거 써도 상관 없음)
코드1
# coding: utf-8
from PIL import Image, ImageDraw, ImageFont
import textwrap
astr = "티스토리 썸네일 이미지 만들기"
para = textwrap.wrap(astr, width=11) #텍스트 한 줄에 최대 11자
MAX_W, MAX_H = 480, 480 #이미지 사이즈
bg_color = 'rgb(214, 230, 245)' #배경색 : 눈이 편한안 아이소프트존..
im = Image.new('RGB', (MAX_W, MAX_H), bg_color)
draw = ImageDraw.Draw(im)
font = ImageFont.truetype('NanumSquareRoundB.ttf', size=46) #글씨체 및 글씨 크기 설정
font_color = 'rgb(0, 0, 0)' #글씨 색 설정 -> 검정색
current_h, pad = 160, 10 #글이 시작될 위치 및 줄간격
for line in para:
w, h = draw.textsize(line, font=font)
draw.text(((MAX_W - w) / 2, current_h), line, font=font, fill=font_color) # 가운데 정렬
current_h += h + pad #다음 줄이 작성될 위치
im.save('test.png') #test.png 로 저장
실행하면, 맨 위의 예시와 같은 이미지가 만들어진다.
사이즈, 배경색, 글씨체, 글씨크기, 위치 등은 모두 임의 설정이 가능하다.
코드2
이제 사용자로부터 입력을 받는 함수 형식으로 만들어, 편리하게 사용할 수 있도록 하겠습니다.
thumnail.py
# coding: utf-8
from PIL import Image, ImageDraw, ImageFont
import textwrap
def run(astr):
para = textwrap.wrap(astr, width=11)
MAX_W, MAX_H = 480, 480
bg_color = 'rgb(214, 230, 245)'
im = Image.new('RGB', (MAX_W, MAX_H), bg_color)
draw = ImageDraw.Draw(im)
font = ImageFont.truetype('NanumSquareRoundB.ttf', size=46)
font_color = 'rgb(0, 0, 0)'
current_h, pad = 160, 10
for line in para:
w, h = draw.textsize(line, font=font)
draw.text(((MAX_W - w) / 2, current_h), line, font=font, fill=font_color)
current_h += h + pad
im.save('{}.png'.format(astr[:8])) # 제목의 8자까지 잘라서 파일명으로 입력
return
if __name__ == "__main__":
astr = input("제목을 입력하세요.\n")
run(astr)
print("done")
설명
- 함수 형태로 만들어서 텍스트를 입력 값으로 받아 실행하도록 했습니다.
if __name__ == "__main__":
astr = input("제목을 입력하세요.\n")
run(astr)
print("done")
- 파일 제목은 입력 값에서 여덟 자까지 잘라서 저장하도록 했습니다.
im.save('{}.png'.format(astr[:8])) # 제목의 8자까지 잘라서 파일명으로 입력
thumnail.py 실행결과
커맨드라인에서 실행하여 '티스토리 썸네일 이미지 만들기 테스트' 입력
생성된 썸네일 이미지
예전에 올린 게시물에도 썸네일 하나 만들어 넣었습니다.
파이썬은 정말 간단하고 편리해요..
끝