Python图片转字符画
Python图片转字符画
昨天看到一篇推文 > 情人节来了,教你个用 Python 表白的技巧
用兴趣为突破口驱动学习
- 掌握RGB图像转灰度图像的方法;
- 了解PIL库的用法。
代码示例
from PIL import Image, ImageDraw, ImageFont font_size = 7 text = "新年快乐!" img_path = "C://Users//lwq//Desktop//py//680.jpg" # 使用 pillow.Image读取图像,并使用load函数获取到每一个像素值 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) # 由于需要不断循环,所以这里可以while循环 yield 来实现一个生成器 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) # 保存图片 img_new.convert('RGB').save("C://Users//lwq//Desktop//py//save.jpg")
680.jpg
save.jpg
安装PIL遇到的问题
原因是:电脑是64位的,而官网只提供32位的,就是自己去官网下载的其他PIL,也是32位的。
解决方法:
1.查找其他文章发现了一个可行的解决方法:https://blog.csdn.net/yushuangping/article/details/82963839
2.pillow包含了PIL,所以可以直接安装pillow