最近抖音上挺火的一个小把戏,在记事本打开,一整篇的乱码字符,然后进过调整之后,出现一张由各种字符组成的黑白照片。先上效果图:
利用python也可以同样实现这个功能。
- import Image
- table1 = """$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`''. """#这种方法好像不太好
- table = '#8XOHLTI)i=+;:,. ' #对于灰度图像效果不错
- im = Image.open("c:\\lena.bmp")
- if im.mode != "L": #如果不是灰度图像,转换为灰度图像
- im = im.convert("L")
- a = im.size[0]
- b = im.size[1]
- im = im.resize((100,90)) #转换图像大小,这个大小是我随意设置的
- f = open("c:\\image.txt",'w+') #目标文本文件
- for i in range(1,b,2): #每隔一行取一行像素,是为了保持视觉上的横纵比
- line = ''
- for j in range(a):
- line += table[int((float(im.getpixel((j,i)))/256.0)*len(table))] #计算当前像素属于哪个字符
- line += "\n" #别忘了添加回车符
- f.write(line)
- f.close()
其实这个方法很早之前就已经开源了。
我不生产水,我只是大自然的搬运工(手动滑稽).
另外还有一个在线网站也可实现,功能更强大,图片像素越高转换出来的质量也就越高。
懒癌传送门
好了。接下来就是如何在记事本中实现由较大不规则的字符变为整图了:
将网站中生产的字符或者利用python转换的字符(python xxx.py xxx.jpg -o xxx.txt 即可输出在记事本,记得先pip install Pillow)复制粘贴到记事本中,记事本默认的字体是宋体小四。如下图:
这就是抖音里面一开始的界面了。接下来只需要两步,便可实现功能了:
1. 点击格式,取消自动换行。 2. 点击格式-字体,将字体换成最小号(八号),也可以找等宽字体那样更好看.
这样你就可以看到我贴出的第一张图的效果了.对比图如下:
抖音里面的图片转字符,大功告成!
登录 | 立即注册