点击查看代码
from PIL import Image# 定义字符集合
ascii_char = list("$@B%8&W#*oahkbdpqwmZO0QLCJYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")def get_char(r, g, b, alpha=256):if alpha == 0:return ' 'gray = int(0.2126*r + 0.7152*g + 0.0722*b)return ascii_char[int(gray/256*len(ascii_char))]def main():im = Image.open("3672671-20250723204638482-1766115385.png")# 设置字符画的尺寸w, h = 100, 45# 对图片进行缩放im = im.resize((w, h), Image.NEAREST)txt = ""for i in range(h):for j in range(w):# 获取像素值,并将 RGB 值转换为相应的字符txt += get_char(*im.getpixel((j, i)))# 换行txt += '\n'# 将字符画写入到一个文本文件中with open('output.text', 'w') as f:f.write(txt)# 判断该文件是否为主程序
if __name__ == '__main__':main()