知行编程网知行编程网  2022-05-02 07:00 知行编程网 隐藏边栏 |   抢沙发  8 
文章评分 0 次,平均分 0.0

对于俄罗斯套娃 ,大家想必都了解,说白了就是一层层的嵌套,大的里面套着小的,就像下面的图一样。


我的神!用Python竟然还能做一个文字套娃

虽然小编无法教给大家如何制作俄罗斯套娃,但是小编可以教给大家如何使用python来制作文字套娃,今天,小编就通过面向对象编程的方式,带领大家编写一个文字套娃的程序。




01.原理解释


首先,我们要理解,如何实现文字的套娃呢,我们知道,每一张图片都是由像素构成的,我们以每一个像素作为基本单元,例如下图中左边的图片,我们假设它是10x10像素的大小,我们称其为上级。


而我们想要在这张图片的每个像素位置上,按照一定的条件进行筛选,并插入和他一模一样的图片(称之为下级),那么新组成的图片的大小就是(10x10,10x10),也就是100x100的尺寸了,而我们进行筛选的条件就是根据图片本身的像素值大小而决定的。

我的神!用Python竟然还能做一个文字套娃

上面我们讲解了文字套娃的原理,接下来我们就讲解一下,如何通过面向对象的编程来实现这个程序吧。


02.深入分析开始编码


首先,我们面向对象的编程,我们需将文字套娃看作是一个对象,那么这个对象有什么属性呢,通过上面的讲解,我们知道文字套娃应该有上级图片和下级图片两个属性,所以我们就需要为文字套娃创建这两个实例属性值,但是我们要如何获取这两个实例属性呢?


这里,我们就需要再去创建一个实例函数,来去帮助我们创建上级图片和下级图片这两个实例属性。程序如下图所示:

我的神!用Python竟然还能做一个文字套娃

上述的makePic函数帮助我们创建了实例属性,我们只需要输入想要创建的文字,还有像素值的大小,函数便会返回创建好的图片对象。


03.实现效果


现在有了实例属性之后,我们接下来就是完成我们开篇讲述的文字套娃功能即可,程序如下所示:

我的神!用Python竟然还能做一个文字套娃

  • 上述的makeDoll函数中,我们首先按照上级图片和下级图片的大小,创建一个空白的图片;

  • 然后针对上级图片中每个像素的数值,插入我们的下级图片,从而完成对于文字的嵌套;

  • 这里函数还返回了嵌套之后的图片,方便我们将其作为上级图片,继续执行嵌套功能;

  • 就如同我们程序的执行入口处,我们首先完成了一次嵌套后,将返回的结果作为了上级图片,继续执行了嵌套;


04.视频展示


上面就是对于整个程序的讲解,最后我们来看一下最终的效果吧。

以上就是小编为大家带来的以面向对象编程的思想完成了对于文字套娃的实现。但是,文字套娃不能一直的进行下去,因为图片的尺寸不能无限的扩大,因此,一般完成3次左右的套娃已经可以了。


大家如果喜欢的话,也可以去我们的B站账号《菜鸟玩python》中看更多趣味的视频,自己操作来体验一下文字套娃的乐趣吧。


我的神!用Python竟然还能做一个文字套娃

需要本篇源码,长按上面的二维码

后台输入:套娃



<p><strong>近期热门:</strong><br  /></p><p style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);"><span style="font-size: 16px;">● </span><span style="font-size: 16px;text-decoration: underline;">80%的人都不知道,全球Python库下载前10名</span></span></p><p style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;">● 我珍藏的一些好的Python代码,技巧|上篇</p><p style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);"><span style="font-size: 16px;">● </span><span style="font-size: 16px;text-decoration: underline;">爬取300本Python书籍,用Python告诉你哪家强?</span></span></p><section style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);"><span style="font-size: 16px;">● </span><span style="font-size: 16px;text-decoration: underline;">简单几步,100行代码用Python画一个蝙蝠侠的logo</span></span></section><section style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);"><span style="font-size: 16px;">● </span><span style="font-size: 16px;text-decoration: underline;">我用Python分析了《青春有你2》109位漂亮小姐姐,真香!</span></span></section><section style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);font-size: 16px;">● </span><span style="font-size: 16px;color: rgb(0, 122, 170);text-decoration: underline;">牛逼操作!用Python做了一个编程语言20年的动态排行榜!</span></section><section style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="color: rgb(0, 122, 170);font-size: 16px;">● </span><span style="color: rgb(0, 122, 170);text-decoration: underline;font-size: 16px;">我打赌,学会这6招,谁再敢笑你的Python程序慢!</span></section><section style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><br  /></section><section style="margin-top: 10px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;white-space: normal;widows: 1;word-spacing: 10px;letter-spacing: 1.5px;line-height: normal;"><span style="font-size: 15px;word-spacing: 2px;caret-color: rgb(62, 62, 62);letter-spacing: 0.544px;color: rgb(255, 41, 65);"><strong><span style="border-color: rgb(127, 127, 127);">点击阅读原文,直达菜鸟B站大本营</span></strong></span></section>

本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享