禁止套娃?嘿嘿,用Python写一个文字套娃的程序,


前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

 

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

 

 

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

01.原理解释

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

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

 

 

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

02.深入分析开始编码

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

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

 

 

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

 

03.实现效果

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

 

  • 上述的makeDoll函数中,我们首先按照上级图片和下级图片的大小,创建一个空白的图片;
  • 然后针对上级图片中每个像素的数值,插入我们的下级图片,从而完成对于文字的嵌套;
  • 这里函数还返回了嵌套之后的图片,方便我们将其作为上级图片,继续执行嵌套功能;
  • 就如同我们程序的执行入口处,我们首先完成了一次嵌套后,将返回的结果作为了上级图片,继续执行了嵌套;

 

04.成品展示

 

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

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

不管你是零基础还是有基础都可以获取到自己相对应的学习礼包!包括Python软件工具和2020最新入门到实战教程。加群695185429即可免费获取。

相关内容

    暂无相关文章

评论关闭