核桃推荐如何用Python做一个l
上才 在准备素材的下午 核桃君被朋友圈的消息刷屏了: “开学有望啦!”“开学还会远么?” 好想开学啊真的么? ...... 好想开学啊真的么? 似乎陷入了“套娃”这个游戏 这种循环、迭代的思想好像很熟悉 在没有收到官方开学通知的现在 不如让我们一起来学习一项编程小技能: 用python制作图片套娃吧 原理解释 首先,我们要理解,如何实现图片的套娃呢,我们知道,每一张图片都是由像素构成的,我们以每一个像素作为基本单元,例如下图中左边的图片,我们假设它是10x10像素的大小,我们称其为上级。 而我们想要在这张图片的每个像素位置上,按照一定的条件进行筛选,并插入和他一模一样的图片(称之为下级),那么新组成的图片的大小就是(10x10,10x10),也就是x的尺寸了,而我们进行筛选的条件就是根据图片本身的像素值大小而决定的。 这里的关键是我们可以用newImg.paste这个函数将每个像素用图片(也可以是函数的形式)替代 原理了解了,下面我们来动手操作一下吧! 开始编写代码 准备工作 python3.0以上版本,PIL图像处理库 在命令行中运行pipinstallPillow,安装PIL 编程开始,导入库和函数 首先,我们需将文字套娃看作是一个对象,那么这个对象有什么属性呢,通过上面的原理讲解,我们知道文字套娃应该有上级图片和下级图片两个属性,以及我们添加了用来替代像素的图片这个参数。这里我们就需要为文字套娃创建这两个实例属性值,但是我们要如何获取这两个实例属性呢? 这里,我们就需要再去创建一个实例函数,来帮助我们创建上级图片和下级图片这两个实例属性。程序如下图所示: 功能实现 现在有了实例属性之后,接下来就是我们完成开篇讲述的文字套娃功能的时候了,程序如下所示: 我们只需要输入想要创建的文字,还有像素值的大小,函数便会返回创建好的图片对象。 ·上述的makeDoll函数中,我们首先按照上级图片和下级图片的大小,创建一个空白的图片; ·然后针对上级图片中每个像素的数值,插入我们的下级图片,从而完成对于图片的嵌套; ·这里函数还返回了嵌套之后的图片,方便我们将其作为上级图片,继续执行嵌套功能; ·就如同我们程序的执行入口处,我们首先完成了一次嵌套后,将返回的结果作为了上级图片,继续执行了嵌套; 最终,我们实现了两层的用图片作为上一个图片的像素的嵌套。 结果展示 (点击查看原图) 以上就是核桃君为大家带来的利用图像嵌套思想,用PIL库函数对于图片套娃的实现。运用这思维大家就可以自己实现“图片套娃”了,更多代码用法期待小白杨们在实现过程中去发现! 这里核桃君还发现了 |
转载请注明地址:http://www.hetaorena.com/htrpz/7365.html
- 上一篇文章: 文玩小核桃并非都价值连城高价值必须具备这
- 下一篇文章: 没有了