Bootstrap

python字符画

python小白的练习之路——python字符画

实现原理

我们知道每一幅画都是由一个个像素点组成,每个像素点都有一种颜色,每种颜色都可以由红、绿、蓝三种颜色组成,即所谓的RGB。

那么一个像素点的RGB如何对应一个字符呢?

这就不得不提及灰度值了。

灰度值指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,并且根据公式

gray = 0.2126 * r + 0.7152 * g + 0.0722 * b

可将灰度值与RGB联系起来。

那么现在每个像素点都对应一个灰度值了,再根据公式

gray / 256 = x / 70

得到每个像素点对应的字符(256是灰度值的范围,70是字符的个数)

x = gray * 70 / 256

最后再逐行打印即可

代码解析

from PIL import Image # PIL 是一个 Python 图像处理库

WIDTH = 60 # 字符画的宽
HEIGHT = 28 # 字符画的高

# 将256灰度映射到70个字符上,也就是RGB值转字符的函数:
def get_char(r
;