用户:
AK亨利佐加DanJamesThomas查看:0 回复:0 评论:0 创建时间:2023-01-03T19:55:06
先上代码:
from PIL import Image
IMG=input('enter:')
WIDTH=150
HEIGHT=80
OUTPUT=input('enter out:')
ascii_char=list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`.")
def get_char(r,g,b,alpha=256):
if alpha==0:
return ' '
length=len(ascii_char)
gray=int(0.2126*r+0.7152*g+0.0722*b)
unit=(255.0+1)/length
return ascii_char[int(gray/unit)]
if __name__=='__main__':
im=Image.open(IMG)
im=im.resize((WIDTH,HEIGHT),Image.NEAREST)
txt=""
for i in range(HEIGHT):
for j in range(WIDTH):
txt+=get_char(*im.getpixel((j,i)))
txt+='\n'
print(txt)
with open(OUTPUT,'w') as f:
f.write(txt)
用python正版3.X的运行
我的是3.9
要不然会报错,因为ascii码不能识别($@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`.),因为里面喵
好了,看看效果:
这是原图:

记住,把图片放在python3X这个文件下(我的是python39)
前面让你enter:
你输入位置(如果是在同一文件夹下的话,你把这个图片的名字+格式打出就可以了)例如:
enter: 你太菜.png
运行结果:

只是一部分……