怎么用Python制作传说中的数字屏幕
发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,这篇文章主要讲解了"怎么用Python制作传说中的数字屏幕",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python制作传说中的数字屏幕"吧!p
千家信息网最后更新 2024年09月23日怎么用Python制作传说中的数字屏幕
这篇文章主要讲解了"怎么用Python制作传说中的数字屏幕",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用Python制作传说中的数字屏幕"吧!
pillow库
这次我们还是要用到我们上次说的pillow库
pillow库使用pip安装
pip install pillow
或
pip install pillow -i "https://pypi.doubanio.com/simple/"
代码介绍
跟大家介绍一下,我们所说的"数字屏幕"是指把图片转换成字符画,这里的
字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色,字符的种类越多,可以表现的颜色也越多,图片也会更有层次感。
最终显示的是黑白色的字符画,那么彩色的图片怎么转换成黑白的呢?这里就需要了解灰度值的概念了。
灰度值:指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图片也称灰度图像。
我们利用下面的公式将像素的RGB值转换成灰度值:
gray = 0.2126 * r + 0.7152 * g + 0.0722 * b
用不同的字符代表不同的灰度值,字符的种类和数量可以根据自己需要的效果进行调整,最好从前往后可以看到明显的变化,最后一个字符为空格符最佳:
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
|代码实现
from PIL import Image IMG='D:\Code\python\\test.png' WIDTH=60 HEIGHT=45 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") #将256灰度映射到70个字符上 def get_char(r,g,b,alpha=256):#alpha透明度 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)]#不同的灰度对应着不同的字符 #通过灰度来区分色块 if __name__=='__main__': im=Image.open(IMG) im=im.resize((WIDTH,HEIGHT),Image.NEAREST) txt="" for i in range(HEIGHT): for j in range(WIDTH): txt+=get_char(*im.getpixel((j,i))) txt+='\n' print (txt) #写入文件 with open("output.txt",'w') as f: f.write(txt)
下面我们生成数字屏幕:
感谢各位的阅读,以上就是"怎么用Python制作传说中的数字屏幕"的内容了,经过本文的学习后,相信大家对怎么用Python制作传说中的数字屏幕这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
字符
灰度
屏幕
数字
传说
制作
不同
图片
颜色
黑白
学习
代码
像素
内容
图像
白色
种类
越多
明显
中点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2021年网络安全方案
app软件开发工程师地址
工业企业数据库 代码
网络安全的目的是什么
开展国家网络安全教育主题班会
地理数据库拓扑作用
influxdb数据库
武鸣天气预报软件开发
wifi破解软件开发代码
博山机械加工管理软件开发
怎样用域名访问服务器
网络安全实验室是啥
危害网络安全的处罚
控制网络技术答案
新h3c服务器硬盘
服务器网络延时多久正常
网络安全省察时间
语雀数据库
湖南省网络安全活动
网页php操作数据库
香肠派对服务器爆满无法登录
数据库建立关系时两张表能否打开
未来5年网络安全板块趋势
信息网络安全的三个阶段
php怎么给前端反数据库
2017软件开发语言排行
网鱼科技属于几线互联网公司
丰特软件开发
长春智能网络技术服务有哪些
杭州正规软件开发哪家好