我们就用这个可爱的小龙猫来做模板

这里,先导入我们要用到的Pillow库中的Image模块

from PIL import Image

创建Image实例,路径的话请自行修改

img = Image.open(r'.\Demo.png')

创建一个文档以便于接收字符

fp = open('字符画.txt', 'w')

获取图片的大小

width, height = img.size  # 获取图片大小

若是图片太大的话先缩小下图片

img = img.resize((width, height))

遍历图片的像素点 把对应的映射字符算出来

for i in range(1, height):  # 从上至下遍历for j in range(1, width):  # 从左至右遍历R, G, B= img.getpixel((j, i))  # 获取目标位置RGB值sum = R + G + Bindex = int(sum / 30)  # 以30为一个间隔fp.write(chars[index])fp.write('\n')  # 写完一行便换行fp.close()

值得注意的是这里所用的图片通道为RGB 若是不一样的话先转换为RGB

print(img.mode)  # 查看当前通道
img = img.convert("RGB") # 通道处理

OK 跑起来!

if __name__ == '__main__':chars = '@#MBHA&XG893S5n1sri;:-,.  '  # 字符集 颜色越深字符就取大些main()  # 把代码都放到main函数里哈

貌似有些大 哈哈不过没事

全部代码

# -*- coding: utf-8 -*-
"""
@author: Yi_Zhou
"""
from PIL import Imagedef main():img = Image.open(r'.\Demo.png')img = img.resize((200,120))print(img.mode)fp = open('字符画.txt', 'w')width, height = img.sizefor i in range(1, height):for j in range(1, width):R, G, B= img.getpixel((j, i))sum = R + G + Bindex = int(sum / 30)fp.write(char[index])fp.write('\n')fp.close()if __name__ == '__main__':char = '@#MBHA&XG893S5n1sri;:-,.  'main()

转载请注明:Yi_Zhou_Python:利用Pillow库创建字符画

Python:利用Pillow库创建字符画相关推荐

  1. python turtle画彩虹-Python利用turtle库绘制彩虹代码示例_天津SEO

    天津SEO RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为RGB模型 代码示例: #-*- coding:utf-8 –*- f ...

  2. python画笑脸-python 利用turtle库绘制笑脸和哭脸的例子

    我就废话不多说了,直接上代码吧! import turtle turtle.pensize(5) turtle.pencolor("yellow") turtle.fillcolo ...

  3. python画笑脸图案-python 利用turtle库绘制笑脸和哭脸的例子

    我就废话不多说了,直接上代码吧! import turtle turtle.pensize(5) turtle.pencolor("yellow") turtle.fillcolo ...

  4. python画图代码彩虹-Python利用turtle库绘制彩虹代码示例

    语言:Python IDE:Python.IDE 需求 做出彩虹效果 颜色空间 RGB模型:光的三原色,共同决定色相 HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相 需要将HSB模型转换为R ...

  5. Python使用pillow库往图片上写入文字或覆盖另一张图片

    Python使用pillow库往图片上写入文字或覆盖另一张图片 python之pillow是 Python 的第三方图像处理库.pillow是PIL( Python Imaging Library)基 ...

  6. python利用dominate库生成静态网页

    HTML报告:python利用dominate库生成静态网页 dominate 简介 一个生成页面的简单例子 标记的属性 如何生成复杂的文档结构 访问内容和属性 渲染 上下文管理器 装饰器 创建文档 ...

  7. c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  8. py之textgenrnn:Python利用textgenrnn库实现训练文本生成网络

    py之textgenrnn:Python利用textgenrnn库实现训练文本生成网络 目录 输出结果 实现代码 输出结果 实现代码 #textgenrnn:利用textgenrnn实现训练文本生成网 ...

  9. python利用datetime库实现通过身份证号码判断年龄、男女,并输出生日

    python利用datetime库实现通过身份证号码判断年龄.男女,并输出生日 实现很简单,直接上代码 import datetimeID=str(input("输入身份证号码") ...

最新文章

  1. 世界人工智能大会圆桌实录:AI与产业融合创新的挑战与机遇
  2. englishpod主持人对话文本_英语播客ESLPod学习方法+资源大全|Englishpod和eslpod的区别是什么...
  3. Python中__new__和__init__区别
  4. require.js学习记录
  5. arp 华为 查看 路由器_华为路由器运行状态查看-路由器
  6. Windows下搭建HTK
  7. 信息学奥赛一本通C++语言——1110:查找特定的值
  8. 【pytorch】torch.nn.Identity()
  9. # 20145205 《Java程序设计》第1周学习总结
  10. c++ 类全局变量_static在C和C++中的用法总结
  11. ong拼音汉字_拼音ong的正确发音
  12. matlab maps 指北针和比例尺,R 地图绘制-比例尺与指北针
  13. 威尔逊置信区间 php,威尔逊置信区间
  14. 多任务学习 Pytorch实现
  15. Smali语法学习三
  16. Weather API 天气应用 API调用分享
  17. Camera中onPreviewFrame()方法的视频方向旋转
  18. USB Type-C PD快充简介
  19. 如何为区块链项目设计token机制
  20. mysql查询中位数

热门文章

  1. 我的苹果电脑中毒了?mac也会中病毒?喜闻乐见(附杀毒软件测试)
  2. STC89C52RC内部EEPROM的读写
  3. Linux-bash特性详解
  4. a后缀名是什么格式文件,怎么打开.a文件
  5. 「C#」Bitmap/Image.Save()报错“GDI+ 中发生一般性错误”的一个案例总结
  6. 程序员修炼之道-从小工到专家 读后感
  7. 3D光场重建率先被中国团队推向零售商用!谷歌同款技术,哈佛高材生创办,高通投资认定...
  8. DirectX11 Effect特效文件
  9. jsp+ssm计算机毕业设计宠物寻回系统【附源码】
  10. 特斯拉股价周三开盘上涨近7% 因Q2交付量创纪录缓解了需求担忧