前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hello,1024背后可爱的人儿

Hello,1024背后可爱的人儿

作者头像
beyondGuo
发布2018-10-25 14:52:57
4150
发布2018-10-25 14:52:57
举报
文章被收录于专栏:SimpleAISimpleAI

1024节,我也凑个热闹。

让我们用在命令行里把上面这个图片用字符打印出来吧!

代码如下:

代码语言:javascript
复制
# 用PIL包:

from PIL import Image

# 用于打印字符画的字符集:
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

# 将像素值转换为对应的字符:
def rgb_to_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)]

# 生成字符画
def createCodePic(img_path):
    img = Image.open(img_path)
    img = img.resize((100, 30))
    size = img.size
    width = size[0]
    height = size[1]
    pimg = img.load()

    txt = ""
    for i in range(height):        
        for j in range(width):
            r = pimg[j, i][0]
            g = pimg[j, i][1]
            b = pimg[j, i][2]
            txt = txt + rgb_to_char(r, g, b, alpha=256)

        txt = txt + "\n"
    print(txt)

createCodePic('hello.jpg')

得到:

让我们向1024背后可爱的程序员们致敬!

谢谢你们改变了世界,

让我们的生活有如此多惊喜!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SimpleAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档