前言
嘻嘻,今天给大家来个小小的字符画骚操作~
所有文章完整的素材+源码都在👇👇
经常刷视频的小伙伴可能看到过有些网友用记事本一行一行的“敲”字符,然后把字体调小,最
后出来的竟然是一幅画,太厉害了!
其实有些字符画不是手敲出来的,一般都是用 App或者网页工具生成的,今天就给大家分享如
何使用这款Python代码写的小工具制作个性特别的字符画图片吧。
在开始制作之前,先给小伙伴们看一张图片。那猜到的小可爱评论区可以留言哦~
正文
Python是一门很棒的语言,它入门非常快,而且非常实用,我们可以用它来做一些看起来很酷
炫的东西,比如:将一张照片做成字符画吖!
一)运行环境
本文用到的环境:Python3.6、Pycharm社区版、PIL模块自带的就不展示啦。
pip install -i https://pypi.douban.com/simple/ +模块名
二)代码展示
from PIL import Image
import os
serarr=['@','#','$','%','&','?','*','o','/','{','[','(','|','!','^','~','-','_',':',';',',','.','`',' ']
count=len(serarr)
def toText(image_file):
image_file=image_file.convert("L")#转灰度
asd =''#储存字符串
for h in range(0, image_file.size[1]):#h
for w in range(0, image_file.size[0]):#w
gray =image_file.getpixel((w,h))
asd=asd+serarr[int(gray/(255/(count-1)))]
asd=asd+'\r\n'
return asd
def toText2(image_file):
asd =''#储存字符串
for h in range(0, image_file.size[1]):#h
for w in range(0, image_file.size[0]):#w
r,g,b =image_file.getpixel((w,h))
gray =int(r* 0.299+g* 0.587+b* 0.114)
asd=asd+serarr[int(gray/(255/(count-1)))]
asd=asd+'\r\n'
return asd
image_file = Image.open("test.jpg") # 打开图片
image_file=image_file.resize((int(image_file.size[0]*0.9), int(image_file.size[1]*0.5)))#调整图片大小
print u'Info:',image_file.size[0],' ',image_file.size[1],' ',count
try:
os.remove('./tmp.txt')
except WindowsError:
pass
tmp=open('tmp.txt','a')
tmp.write(toText2(image_file))
tmp.close()
三)效果展示
1)随机——哆啦A梦🐱
2)随机——😊
3)随机——阴阳师❀
4)随机——企鹅🐧
总结
以上就是小编给大家分享的字符画制作方法了,这个瞬间有没有爱上它~
💖免费的源码基地——
你们的支持是我最大的动力!!记得三连哦~mua 欢迎大家阅读往期的文章哦~
😘往期推荐阅读——
项目1.6 【Pygame小游戏】斗地主我见多了,BUT 这款开源欢乐斗地主,最让人服气~
项目2.2【Pygame小游戏】扫雷游戏50多岁了,但这款我能玩一年~(三个版本集合)
项目0.5 【视频倒放神器】超级玩法:千万不要倒放视频,太魔性了根本停不下来......
项目0.6 【Python小程序】隐藏表白图:“你永远都不知道我喜欢你”(建议保存)
项目0.4 Python教程:去除背景,我保证不动她一根头发(附多种方式)
🎄文章汇总——
项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了
(更多内容+源码都在文章汇总哦!!欢迎阅读~)
🎁文章汇总——
汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)