本文,介绍一下,用python制作字符图的方法和步骤。准备的图片如下:第一幅图是png格式,背景透明;第二幅图是jpg格式,背景是白色。
工具/原料
1
电脑
2
python3.+
3
pillow模块
方法/步骤
1
给出一个字符串:zfc = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,'^`'. '''我要用这里面的字符制作字符图,里面有69个字符。
2
先用jpg图做试验:fp = open(u'wm.jpg','rb')
3
读取图片: img = Image.open(fp)
4
转化为灰度图:img=img.convert('L')
5
改变图片大小:img = img.resize((30,30))
6
按照如下的规则,输出字符图:zf=''for h in range(0,img.size[1]): for w in range(0,img.size[0]): gray = img.getpixel((w,h)) zf = zf + zfc[int(((len(zfc)-1)*gray)/256)] zf = zf+'\r\n' print(zf)这实际上是一系列字符,并不是图片。
7
可以把这些字符,保存为txt文档。
8
打开txt,就可以查看字符图。
9
如果把原图改为100*100的大小,那么得到的txt,经过截图、调整大小,就得到字符图,如下。可以看到,白色背景全部用 . 代替了。
10
再使用有透明背景的png格式的图片做试验,得到的字符图如下。
11
整体代码如下图所示。