from PIL import Image

ascii_char = list('"$%_&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-/+@<>i!;:,\^`.')

def get_char(r,g,b,alpha = 256):
    if alpha == 0:
        return ' '
    gray = int(0.2126*r+0.715*g+0.0722*b)
    unit = 256/len(ascii_char)
    return ascii_char[int(gray//unit)]


def main():
    file = input()
    im = Image.open(file)

    assert isinstance(im, Image.Image)

    W,H = 100,60
    im = im.resize((W,H))

    txt = ""
    fo = open("pic_char.txt","w")

    for i in range(H):
        txt=""
        for j in range(W):
            r,g,b = im.getpixel((j,i))
            txt += get_char(r,g,b)
        txt+='\n'
        fo.write(txt)
    fo.close()
main()

 

PIL第三方类库,无代码提示

assert isinstance(im, Image.Image)

相关文章:

  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2021-12-04
  • 2022-12-23
  • 2021-06-21
  • 2021-12-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-04-10
  • 2022-12-23
  • 2021-09-06
  • 2021-04-07
  • 2021-09-24
相关资源
相似解决方案