有一串字符串,字符串一共组成了10数字(从0-9),每个数字都是5行5列构成的。
image接下来,我的目标是将其变成5x5像素对应的数字图片。(下面的图片是放大10倍的效果)
image字符串预处理
首先去除字符串里面的换行符,空格等。为后面切割字符串做准备。
image切割数字
切割出第一个数字0
分析:每一行都有50个字符,每一行的前5个都是属于数字0的,通过字符串的切片获取。
image同理,利用循环切割出所有数字。,这里主要是14行range里面几个数字的理解,第一个表示开始的位置,数字0从0开始,1从1开始,前面乘上num就可以适应不同的数字的,250表示结束,50代表步长,每行50个字母,刚好起到换行 的效果。15行的[i:i+5]表示从开始位置往后取5个字符。
image打印查看效果,每一个数字的字符都已经切割成功。
image将数字变成图片
接下来就是将数字变成图片了,原理很简单,先创建一张55像素空白的图片,接着循环对比,如果该位置是@字符,就将该处的像素通过putpixel方法设置为黑色,直到循环完所有字符得到最终结果。(注意:里面的index = 5y+x代码是没有的,之前一种方法用的,忘记删掉了)
image数字1只需要更改26行的digit的索引。
image保存到本地
通过save方法,可以将图片保存到本地,5x5像素的图片非常小,最后通过resize放大10倍变成50x50像素保存。
image所有图片效果
image(全文完)
长按二维码,加关注!叶子陪你玩
欢迎转载,转载请注明出处!
欢迎关注公众微信号:叶子陪你玩编程
分享自己的python学习之路
网友评论