PIL字符图

Posted magnet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PIL字符图相关的知识,希望对你有一定的参考价值。

个人兴趣学习

在网上无事瞎逛的时候发现的一个比较有趣的图片处理,看了之后蠢蠢欲动就来学习了一下并试着写了几行代码实现

直接上代码    新人代码  写的很不完善

from PIL import Image

def turn(img):
    # 转为字符串后占时存储
    txt = ""
    # 图片的高宽像素进行每个像素点的遍历   先高后宽进行横向遍历  确定后面得到的图片是横铺的
    for i in range(img.size[1]):
        for j in range(img.size[0]):
            # 得到遍历像素点的RGB值
            grey = img.getpixel((j,i))
            # 将每一个像素点RGB值在字符列表中找到对应的字符
            txt += char[int(grey / num) - 1]
        # 每行填写完之后进行换行
        txt += 

    # 返回写好的txt字符文本
    return txt

char = list(r"[email protected]%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`‘. ")

# 打开需要转换的图片
pic = Image.open(r"C:Users80itPicturesNardackキンギョ.png")

# 将需要转换的图片先转换为绘图  方便后面进行直接按坐标确定灰图RGB值
pic = pic.convert("L")

# 确保索引不会超过字符串长度
num = 255 / len(char)

# 将图片缩放
width, height = pic.size
# 找到适合电脑尺寸的比例
pic = pic.resize((int(width * 1.0),int(height * 0.6)))

if __name__ == "__main__":
    # 将写好的字符文本写入电脑并保存
    with open(r"C:Users80itDesktopcharpic.txt","w") as f:
        f.write(turn(pic))

运行结果如下:

技术分享图片

进行字符的绘画   还是很有趣的

以上是关于PIL字符图的主要内容,如果未能解决你的问题,请参考以下文章

有关Python的PIL库的学习体会和实例

Python 使用PIL.Image制作一个运动小人的动态图

Django / PIL - 上传图像时保存缩略图版本

快乐python 零基础也能P图 —— PIL库

PIL 缩略图正在旋转我的图像?

PIL:缩略图并以方形图像结尾