python 은 PIL 을 사용 하여 그림 에 텍스트 를 추가 하여 포스터 예제 를 생 성 합 니 다.
한때 나 도 소위 문학 청년 이 었 다.대학 2 년 전 대부분의 시간 을 도서관 에서 각종 문학 류 의 책 을 읽 었 다.
그때 의 저 는 미래 에 대해 많은 상상 을 했 습 니 다.소설 을 쓰 고 시평 을 쓰 며 시 를 썼 습 니 다.한 마디 로 하면 문자 종사자 가 되 는 것 입 니 다.
지금 나 는 확실히 문자 일꾼 이 되 었 다.단지 코드 를 썼 을 뿐이다.
어느 달 어두 운 바람 이 부 는 밤,알록달록 한 코드 를 보 며 새 콤 한 눈 을 비비 고 긴 하품 을 했다.갑자기 선정 의 순간 에 들 어 섰 다.
"어린 시절 의 꿈 을 기억 하 시 나 요?"
나 는 또 글 을 쓰 고 싶 어 지기 시작 했다.몇 년 동안 코드 를 쓴 늙 은 남자 가 삶 에 거 칠 게 눌 려 바닥 을 몇 번 문 지 른 후에 갑자기 마음의 부 드 러 움 을 촉발 시 켜 뭔 가 를 쓰 고 싶 었 다.
뭐라고 써 야 돼 요?어떻게 씁 니까?내 가 보기에 쓰기 가 코드 를 쓰 는 것 보다 더 어렵다.상세 한 것 은 프로 그래 밍 과 쓰기 이다.
가장 간단 한 하루 에 수필 한 편 을 업데이트 하 는 것 부터 시작 하 자.그날 의 읽 기와 사 고 를 포함한다.이런 글 은 주로 자신 에 게 글 쓰 기 를 연습 하 게 하 는 것 으로 프로 그래 밍 의 문제 풀이 와 유사 하 다.
무미건조 한 수필 은 보기에 별로 재미 가 없어 보이 는데,그날 의 읽 기와 쓰기 에 대해 개괄적 인 총 결 을 해 야 한다.이 그림 은 통 일 된 템 플 릿 입 니 다.내용 만 다 를 뿐 모든 그림 을 ps 로 처리 해 야 한다 면 너무 번 거 롭 습 니 다.게 으 름 을 미덕 으로 하 는 프로그래머 로 서 프로그램 으로 자동 으로 그림 을 만 들 려 고 하 는 것 이 분명 하 다.
python 이미지 포스터 생 성
1.디자인 이미지 템 플 릿
템 플 릿
2.python 라 이브 러 리 설치
환경:python 3
Pillow 라 이브 러 리 설치
pip install Pillow
구체 적 인 코드 구현새 index.py
# -*- coding:utf-8 -*-
from PIL import Image, ImageDraw, ImageFont
import time
# :pip install Pillow
header = '001'
title = ' 001 '
books = [' ', ' ', ' ']
writes = [' 001 ', 'python ']
summary = ' , , , '
n = 18
summary_list = [summary[i:i + n] for i in range(0, len(summary), n)]
#
img = './test.png' #
new_img = 'text.png' #
compress_img = 'compress.png' #
#
font_type = '/System/Library/Fonts/STHeiti Light.ttc'
font_medium_type = '/System/Library/Fonts/STHeiti Medium.ttc'
header_font = ImageFont.truetype(font_medium_type, 55)
title_font = ImageFont.truetype(font_medium_type, 45)
font = ImageFont.truetype(font_type, 24)
color = "#000000"
#
image = Image.open(img)
draw = ImageDraw.Draw(image)
width, height = image.size
# header
header_x = 130
header_y = 690
draw.text((header_x, height - header_y), u'%s' % header, color, header_font)
#
title_x = header_x
title_y = header_y - 80
draw.text((title_x, height - title_y), u'%s' % title, color, title_font)
#
cur_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
cur_time_x = 590
cur_time_y = title_y - 25
cur_time_font = ImageFont.truetype(font_type, 25)
draw.text((cur_time_x, height - cur_time_y), u'%s' % cur_time, color, cur_time_font)
#
book_x = title_x + 5
book_start_y = title_y - 190
book_y = 0
book_line = 50
for num, book in enumerate(books):
y = book_start_y - num * book_line
book_num = num + 1
draw.text((book_x, height - y), u'%s. %s' % (book_num, book), color, font)
#
write_x = book_x
write_y = title_y - 450
write_line = 40
for num, write in enumerate(writes):
write_num = num + 1
y = write_y - num * write_line
draw.text((write_x, height - y), u'%s. %s' % (write_num, write), color, font)
#
summary_x = book_x + 460
summary_y = book_start_y
summary_line = 35
for num, summary in enumerate(summary_list):
y = summary_y - num * summary_line
draw.text((summary_x, height - y), u'%s' % summary, color, font)
#
image.save(new_img, 'png')
#
sImg = Image.open(new_img)
w, h = sImg.size
width = int(w / 2)
height = int(h / 2)
dImg = sImg.resize((width, height), Image.ANTIALIAS)
dImg.save(compress_img)
실행 결과python python index.py
결실
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.