from PIL import Image
# 七十个字符画,
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
#图片转灰度图片,将灰度值映射到ascii_char
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=(256.0+1)/length
return ascii_char[int(gray/unit)]
if __name__ == '__main__':
im = Image.open('ascii_dora.png')#读取文件
HEIGHT=im.size[0]
WIDTH=im.size[1]
txt = ""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j,i)))
txt += '\n'
print(txt)
f=open("ascii_dora.txt","w")
f.writelines(txt)
f.close()