对程序进行了一点调整:
# -*- coding:utf-8 -*-
from PIL import Image, ImageDraw, ImageFont
font_size = 5
text = "i love you "
img_path = "/home/fyo/xxx.jpg"
img_raw = Image.open(img_path)
img_array = img_raw.load()
img_new = Image.new("RGB", img_raw.size, (0, 0, 0))
draw = ImageDraw.Draw(img_new)
# font = ImageFont.truetype('C:/Windows/fonts/Dengl.ttf', font_size)
# 上面一句搞了半天,在ubuntu里面处理不来,于是作罢,也就是字体的问题而已
def character_generator(text):
while True:
for i in range(len(text)):
yield text[i]
ch_gen = character_generator(text)
for y in range(0, img_raw.size[1], font_size):
for x in range(0, img_raw.size[0], font_size):
# draw.text((x, y), next(ch_gen), font=font, fill=img_array[x, y], direction=None)
draw.text((x, y), next(ch_gen), fill=img_array[x, y])
img_new.convert('RGB').save("/home/fyo/save.jpeg")
试了试,效果还是可以的~
建议font_size 设置为 5,得到图片后再简单调整一下亮度等等