多啦a梦的python代码_80行代码!用Python做一个哆来A梦分身
对于分身术,大家想必都或多或少的从《火影忍者》的动漫上看到过,炫酷的影分身场面,每每看到都觉得非常过瘾。
今天,小编其实是蓝胖子的铁粉,满满的童年回忆啊!今天Python来实现一个简单的哆啦A梦分身术,看看python是如何实现影分身之术。
要达到影分身的效果,需要一个背景图片和一个前景图片。我们以背景图片为基础,然后不断的在背景图片上添加前景图片,从而达到影分身的效果。这里我们采用python内置的turtle库来实现这一效果。
但是turtle库对于图片的使用,只能是gif格式的图片,这就带来了新的问题,那便是如何获取gif图片,我们平时使用的大都是jpg和png格式的图片。我们需要将jpg和png的图片转化为gif格式。
对于前景和背景,通常是采用png和jpg格式的图片,因为png格式图片带有透明度,这样的话,将其放置在背景图片中不会存在背景而显得很突兀。普通的png转gif的方式,会丢失掉png图片的透明度,从而导致最后的结果中前景图片存在背景,从而出现下面的这种结果:
这样的效果显然不合适,所以这里小编采用自己的程序处理方式,将前景图片转化为gif的格式,同时保持了gif图片的背景透明化,部分程序如下所示:
程序的主入口是convert_image函数;
函数首先获取一个图片中未出现的(R,G,B)元组colour;
然后将图片中的背景填充为colour,在图片保存为gif的过程中;
根据color_index函数来将图片中像素值为colour的部分透明化,便完成了从png图像到gif图像的转化。
有了图片的转化之后,接下来就是要实现分身术的效果,我们需要将前景图片不断的出现在北京图片中的各个位置上,同时要保证前景图片位于北京图片的显示范围内。对于这部分程序的编写,其部分程序如下所示:
上述的程序中,self.create_gif函数目的是将jpg或者是png图像转化为gif格式的图像。而self. Doppelganger是程序的主序的主入口,首先我们设置了画面的大小和背景,然后通过for函数在背景图像上不断的放置我们的前景图片,使之展现出来分身的效果,同时规定了前景图片的显示范围。
以上我们便完成了整个程序的讲解,用Python做这个小练习,是不是满满的童年回忆。当然也可以换成你喜欢的动漫人物,比如海贼王路飞,秦时明月盖聂,斗破苍穹里面的美杜莎,萧炎,云韵。当然程序中还包含一个png图像转gif图像的程序,有需要的同学可以直接下载源码。
目前wx搜索Python 【菜鸟学Python】排第二,汇聚了30万Python爱好者,累计原创近400篇趣味干货(爬虫,数据分析,算法,面试指南,原创趣味实战,Python游戏,机器学习),欢迎一起学Python,交流指正。
多啦a梦的python代码_80行代码!用Python做一个哆来A梦分身相关推荐
- python画哆啦a梦图片_80行代码!用Python做一个哆来A梦分身
原标题:80行代码!用Python做一个哆来A梦分身 对于分身术,大家想必都或多或少的从<火影忍者>的动漫上看到过,炫酷的影分身场面,每每看到都觉得非常过瘾. 今天, 小编其实是蓝胖子的铁 ...
- 用python画路飞代码_80行代码!用Python做一个哆来A梦分身
对于分身术,大家想必都或多或少的从<火影忍者>的动漫上看到过,炫酷的影分身场面,每每看到都觉得非常过瘾. 今天,小编其实是蓝胖子的铁粉,满满的童年回忆啊!今天Python来实现一个简单的哆 ...
- python皮卡丘编程代码_再接再厉,用python编程13行代码解方程组(纯字符)
因为是示例为主,我们将方程组限制在二元一次方程组:x,y两个变量,两个方程.类似这样: 每个方程有两个变量,x和y,形式为:ax+by+c=d 由于这次有了两个方程,我们提取参数的代码就适合提炼为一个 ...
- Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋
Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋 写在前面 需要用到的工具包和参考 游戏设定 初始化 切换下棋方 判断五子连珠(核心) 鼠标点击流程事件 成品展示 打 ...
- Python简单几行代码实现黑客电影镜头屏幕画面
Python简单几行代码实现黑客电影镜头屏幕画面 通过几行简单的Python代码实现炫酷的数据流动效果 一.Python版本:Python3 二.操作示范 为了显得更加牛逼 逼真,通常不会直接运行源代 ...
- 【python】20行代码实现有道翻译api接口调用
文章目录 1. 目标站点 2. 完整代码 3. 测试样例 3.1. 测试样例Ⅰ(汉译英) 3.2. 测试样例Ⅱ(英译汉) 4. 调用文档 4.1. 接口地址 4.2. 请求方法 4.3. 请求参数 4 ...
- 教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!
教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!! 代码展示: 开发环境: windows10 python3.6 开发工具: pycharm weddriver 库: sel ...
- 【python】15行代码实现猫脸检测(opencv)
文章目录 1. 项目简介 2. 项目地址 3. 依赖模块 4. 完整代码 5. 必要组件 5.1. haar级联特征分类器(精度高) 5.2. lbp级联特征分类器(速度快) 6. 成果展示 6.1. ...
- 【python】60行代码实现给头像戴上圣诞帽(opencv)
文章目录 1. 成果展示 2. 项目简介 3. 项目地址 4. 预备知识 5. 完整代码 6. 必要组件 7. 圣诞素材 8. 引用参考 9. 软件下载 1. 成果展示 2. 项目简介 原理很简单,就 ...
- 【并发编程七】C++进程通信——套接字(socket)_80行代码实现一个聊天软件
[并发编程七]进程通信--套接字(socket)_80行代码实现一个聊天软件 一.简介 二.相关知识介绍 1.winsock1.h.winsock2.h 2.如何使用ws2_32.dll 3.WSAS ...
最新文章
- linux svn自动提交,svn 定时自动提交
- oracle怎么查别的库,ORACLE_SID、实例名和数据库名的区别及查看方法
- CentOS 配置epel源
- [译]学习IPython进行交互式计算和数据可视化(四)
- Python自定义函数的创建、调用和函数的参数详解
- MySql各引擎特点和性能测试
- pythonunicode转为字符串_python中将 \\uxxxx转换为 Unicode字符串
- 区块链系列教程之:比特币中的共识
- vue监听字符串长度_Vue 的 computed 和 watch 的区别
- 新一配:iPod及其系列产品【转载】
- PDF书签制作的方法!
- 基于微型计算机系统的实时时钟设计,基于单片机的DS12C887时钟芯片应用研究
- Python爬取m3u8格式视频并解密ts文件合并转为mp4格式
- 《创新者的基因》读书笔记
- 机器学习之经典算法(十一) 条件随机场
- 2分钟彻底搞懂“高内聚,低耦合”
- WPS画报的电脑壁纸怎么下载
- AD9361 官方例程详解(一)
- 网吧无盘主副服务器,网吧无盘服务器教程
- 闪送,为何能从顺丰中杀出一条血路?
热门文章
- 防止跨站攻击——CSRFToken
- 计算机网络经过了几个阶段,计算机网络的发展经过哪几个阶段?
- 用Python正则实现词频统计并验证Zipf-Law
- 区分LJMP、AJMP、SJMP、JMP指令
- 联想Ideapad310s笔记本换屏线
- FPGA时钟电路PCBlayout设计原则
- arm嵌入式led灯闪烁实验报告_ARM嵌入式系统与应用实验报告
- 基于arm嵌入式linux毕业设计,本科毕业论文--基于arm的嵌入式系统设计.doc
- 计算机的生产过程,笔记本电脑生产流程介绍 .pptx
- 【数据结构与算法分析】——java语言描述(1)