위와 같이 간단하게 티스토리 포스팅 타이틀만 입력하면 썸네일을 만들어주는 코드를 공유합니다
▶︎ PIL(Pillow) 라이브러리를 사용하여 이미지를 생성하는 함수
제목은 특정 길이를 초과할 경우, 자동으로 줄바꿈되어 표시된다
from PIL import Image, ImageDraw, ImageFont
import textwrap
def make_thumb(save_path, var_title):
var_max_w = 500 # 이미지 폭
var_max_h = 500 # 이미지 높이
var_anchor = "mm" # middle, middle
var_font_path = "....../NotoSansKR-Bold.otf" # 폰트 경로
var_font_size = 50
var_font_color = "#212529" # 글자색상
var_back_color = "#f8f9fa" # 배경색상
var_stroke_color = "#FFFFFF"
var_img = Image.new(mode="RGB", size=(var_max_w, var_max_h), color=var_back_color)
var_draw = ImageDraw.Draw(var_img)
var_font = ImageFont.truetype(var_font_path, var_font_size)
var_title_width_length = 10 # 한 라인의 Max 글자 수
var_pad = 8 # 줄 간격
var_title_wrap = textwrap.wrap(var_title, width=var_title_width_length)
var_len_line = len(var_title_wrap)
var_x_point = var_max_w / 2
var_textsize_h = var_draw.textsize(var_title_wrap[0], font=var_font)[1]
var_y_point = (var_max_h - (var_textsize_h * var_len_line + var_pad * (var_len_line - 1))) / 2
for var_line in var_title_wrap:
var_textsize = var_draw.textsize(var_line, font=var_font)
var_x_point = (var_max_w - var_textsize[0]) / 2
var_draw.text((var_x_point, var_y_point), var_line, font=var_font, fill=var_font_color)
var_y_point += var_textsize_h + var_pad
var_img.save(save_path)
var_img.show()
make_thumb("파일경로/제목.png", "여기에 썸네일 제목 입력")
728x90
'Programming Basics' 카테고리의 다른 글
[크롤링] 웹 쇼핑몰에서 상품의 재고 여부 확인하기(python) (0) | 2024.02.28 |
---|---|
[Google Cloud Platform] Colab 과 BigQuery 연동 (0) | 2024.01.14 |
[Google Cloud Platform] github 연동, 가상환경 복제(예정) (0) | 2023.10.18 |
[Google Cloud Platform] BigQuery & Looker Studio 시작하기 (0) | 2023.10.18 |
구글 클라우드 플랫폼과 깃허브 연동하기 (0) | 2023.10.17 |