张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,??戳此立抢??

新疆25选7开奖直播:怎样用Python制作迷宫GIF 本文将告诉你诀窍

马哥Linux运维 ? 2018-07-13 08:57 ? 次阅读

新疆25选7走势 www.ve66b.cn 安装

可以通过PyPi安装

怎样用Python制作迷宫GIF 本文将告诉你诀窍

怎样用Python制作迷宫GIF 本文将告诉你诀窍

或者通过Git

怎样用Python制作迷宫GIF 本文将告诉你诀窍

为什么你需要这个库?

问:我是一个Python迷,并且对迷宫的生成和迷宫解决的办法非常感兴趣。我很羡慕别人能够做出生成迷宫的动画。我如何能够用Python自己做一个迷宫动画,然后把我的成果展示给其他人呢?(我知道tkinter, pyglet 和 pyqt,但是它们很难发布给别人看)

答:现在,你可以使用库gifmaz来做这件事了,它有一些很好的特性:

1、它是纯Python编写的,没有第三方依赖,只使用内置??椋。ㄈ绻阆氚讯度胪计?,那么你需要PIL,PIL虽然不是内置???,但是任何Python版都支持PIL。除此之外再没有其他的依赖了)

2、它运行速度很快,而且几秒钟就能生成优化过的GIF图片。每个GIF通常都包含上千帧,但是GIF大小确只有几百KB。

3、你可以绘制各种各样的迷宫动画,和解迷宫动画。

4、代码都有很好的注释,文档有很好的范例,而且文档很完整。

这个库的一个教程

首先我们需要构建一个GIFSurface对象(类似cairo的ImageSurface类),我们的动画将会画在这个对象上。同时,我们需要指定图片的大小和可用的颜色数量。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

这里color_depth=2意味着调色板中有2^2=4种颜色,bg_color=0说明调色板中的第0个颜色被作为背景色。

只要你还没有最后保存图片,你都可以更改设置调色板,你可以这样做

怎样用Python制作迷宫GIF 本文将告诉你诀窍

所以图片中可以用的颜色有:黑、白、品红、黑。

然后我们构建一个环境,生成的动画基于这个环境构建(类似cairo的Context类)。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

然后我们设置这个动画的控制参数

怎样用Python制作迷宫GIF 本文将告诉你诀窍

这些参数的意思是“每20步渲染一帧,帧之间间隙0.05s,调色板中第四个颜色作为通明度通道”。

我们有了绘制动画的“桌面”,和绘制动画需要的参数,接下来就是实际地画一个迷宫了。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

这个语句在图片中央绘制了一个迷宫,然后在四边留了8像素的空白,迷宫中每一格在图片中占据5像素*5像素的大小。

然后让我们运行Prim的迷宫算法。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

其中我加了两个延迟帧,以便我们能够看清楚动画的过程。

完成了!让我们把这个动画保存到GIF文件。

怎样用Python制作迷宫GIF 本文将告诉你诀窍

下面是运行结果,大小小于300K,很赞吧!

当然,你也可以把多个算法整合进一个动画。下面的动画展示了随机深度优先搜索算法和A*搜索算法。(这个图片只有120K)

这个库的原理是什么?

这个库实际上是一个GIF的编码库,算法运行过程中,动画帧被编码为BytesIO文件。只有在调用save方法时,动画才会真正地被存入图片。

深度资料

1、什么是GIF://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp。

2、迷宫生成算法://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm-recap

原文标题:用Python制作迷宫GIF

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

自动化测试框架-HP UFT精解

  第一章-自动化测试概述:  从本章开始,我们开始学习几个主流高级测试工具。我们会将课程分为自动化测试工具、性能测试工
发表于 03-20 00:00 ? 23147次 阅读
自动化测试框架-HP UFT精解

用Python轻松做一个智能聊天机器人

伴随着自然语言技术和机器学习技术的发展,越来越多的有意思的自然语言小项目呈现在大家的眼前,聊天机器人....
的头像 电子发烧友网工程师 发表于 04-25 19:21 ? 41次 阅读
用Python轻松做一个智能聊天机器人

目前数据分析师的招聘需求如何?评价待遇如何?

从薪资来看,数据分析师确实是高薪职位,基本上是10k起步,能开30k的公司也不少。从薪资分布区域来看....
的头像 电子发烧友网工程师 发表于 04-24 17:32 ? 147次 阅读
目前数据分析师的招聘需求如何?评价待遇如何?

教你如何使用Python搭一个Transformer

与基于RNN的方法相比,Transformer 不需要循环,主要是由Attention 机制组成,因....
的头像 电子发烧友网工程师 发表于 04-24 15:00 ? 106次 阅读
教你如何使用Python搭一个Transformer

过拟合,欠拟合以及模型的判断

python-学习曲线,判断过拟合,欠拟合
发表于 04-24 10:23 ? 11次 阅读
过拟合,欠拟合以及模型的判断

Python中五种略高级特征的使用方法

Python 多好用不用多说,大家看看自己用的语言就知道了。但是 Python 隐藏的高级功能你都 ....
的头像 电子发烧友网工程师 发表于 04-24 10:12 ? 157次 阅读
Python中五种略高级特征的使用方法

东京大学团队开源了一款名为「neural collage」的图像编辑工具

sCBN 是一种特殊形式的条件批正则化方法 (CBN),作为批正则化方法 (BN) 的变体,它能够对....
的头像 嵌入式资讯精选 发表于 04-23 16:32 ? 266次 阅读
东京大学团队开源了一款名为「neural collage」的图像编辑工具

谈谈Python那些不为人知的冷知识

因为当你在同一行里,同时给两个变量赋同一值时,解释器知道这个对象已经生成,那么它就会引用到同一个对象....
的头像 电子发烧友网工程师 发表于 04-22 13:40 ? 163次 阅读
谈谈Python那些不为人知的冷知识

基于Python3对携程网页上北京五星级酒店列表的爬取

Python3 爬取携程网[1] 根据好评优先顺序,获取北京五星级酒店列表...
发表于 04-19 16:25 ? 55次 阅读
基于Python3对携程网页上北京五星级酒店列表的爬取

Python之父也坐不住了放狠话谁再不停止996,就别想再用Python!

程序员李海刚毕业时是在一传统行业当开发,工作时长正常,是标准的965。工作一年后他跳到互联网公司,刚....
的头像 新智元 发表于 04-19 14:31 ? 290次 阅读
Python之父也坐不住了放狠话谁再不停止996,就别想再用Python!

组合29个简单Python代码块,自动发现新算法

本文提出了一种基于演化算法的搜索策略,将其AAD中实现。AAD可以基于Python的子集作为语法结构....
的头像 新智元 发表于 04-19 13:47 ? 159次 阅读
组合29个简单Python代码块,自动发现新算法

基于ssh协议的key验证的工具PSSH

基于SSH-key验证的运维管理工具-PSSH
发表于 04-19 12:05 ? 23次 阅读
基于ssh协议的key验证的工具PSSH

哈佛学生写的Python???,进入Github飙升榜TOP 3,超过1000星

VLBI的测量精度可以达到百分之几角秒、千分之几角秒甚至更高。对于人造天体,如人造地球卫星、绕月卫星....
的头像 新智元 发表于 04-19 11:31 ? 460次 阅读
哈佛学生写的Python???,进入Github飙升榜TOP 3,超过1000星

Stack Overflow近日发布了2019年度开发者调查报告

连续 7 年,JavaScript 都位列最受欢迎的编程语言榜首,但值得关注的是,Python 的排....
的头像 新智元 发表于 04-19 11:03 ? 274次 阅读
Stack Overflow近日发布了2019年度开发者调查报告

Python爬虫工程师面试时的常见问题

一般面试官的第一个问题八成都是问一下以前做过的项目,所以最好准备两个自己最近写的有些技术
的头像 工程师人生 发表于 04-18 15:36 ? 186次 阅读
Python爬虫工程师面试时的常见问题

源码python文件解析

21小时上手深度学习3-Neural Song
发表于 04-18 15:34 ? 25次 阅读
源码python文件解析

如何利用Python对Ginkgo USB- CAN进行发送和接收数据

Python版本:硬件版本3.5.3 两套Ginkgo USB-CAN 接口:VTG203B 硬件连接: ITEM1    ITEM2 ...
发表于 04-18 12:04 ? 339次 阅读
如何利用Python对Ginkgo USB- CAN进行发送和接收数据

IBM经典教程中的例子——在进行网页检索时通过多线程进行加速

这里多扯两句: multiprocessing.dummy? mltiprocessing 库的线程....
的头像 马哥Linux运维 发表于 04-16 12:57 ? 240次 阅读
IBM经典教程中的例子——在进行网页检索时通过多线程进行加速

Python爬虫爬取美剧网站

后来发现,其电视剧链接都是在文章里面,然后文章url后面有个数字编号,就像这样的//cn1....
的头像 马哥Linux运维 发表于 04-16 12:52 ? 245次 阅读
Python爬虫爬取美剧网站

基于HTTP间谍抓包插件分析有道翻译反爬机制

python实战:利用chrome抓包插件HTTP间谍分析有道翻译反爬机制...
发表于 04-15 11:41 ? 31次 阅读
基于HTTP间谍抓包插件分析有道翻译反爬机制

请问如何利用Python对Ginkgo USB- CAN进行发送和接收数据

Python版本:硬件版本3.5.3 两套Ginkgo USB-CAN 接口:VTG203B 硬件连接: ITEM1    ITEM2 ...
发表于 04-13 09:35 ? 74次 阅读
请问如何利用Python对Ginkgo USB- CAN进行发送和接收数据

基于python的verilog模拟是否可行?

我注意到在模拟或HDL生成中使用Python有一些活动。 技术效果如何? 任何有经验的RTL设计师都尝试过这个想法? 以上来...
发表于 04-12 14:59 ? 28次 阅读
基于python的verilog模拟是否可行?

python入门圣经《Python编程:从入门到实践》高清电子书

豆瓣评分 9.1 本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所...
发表于 04-11 18:22 ? 338次 阅读
python入门圣经《Python编程:从入门到实践》高清电子书

python核心编程中文第三版电子书免费下载

 本书是经典畅销图书《Python 核心编程(第二版)》的全新升级版本,总共分为3 部分。第1 部分....
发表于 04-11 16:08 ? 107次 阅读
python核心编程中文第三版电子书免费下载

Python 之父发声,认为 996 工作制是不人道的

我们应该怎么做才能帮助这些程序员?怎样才能引起西方媒体和政府的关注?
的头像 机器人大讲堂 发表于 04-10 11:30 ? 716次 阅读
Python 之父发声,认为 996 工作制是不人道的

Bridgetek与Zerynth和Riverdi技术结盟 成为物联网合作伙伴

为了让先进的图形控制芯片在新兴物联网(IoT)领域具有更大的吸引力,Bridgetek与物联网开发专....
发表于 04-08 17:20 ? 269次 阅读
Bridgetek与Zerynth和Riverdi技术结盟 成为物联网合作伙伴

超过Java,Python成为世界第一编程语言

超越Java:Python正式登顶世界第一编程语言
发表于 04-08 11:43 ? 65次 阅读
超过Java,Python成为世界第一编程语言

Python基础教程第3版PDF电子书免费下载

本书包括 Python 程序设计的方方面面:首先,从 Python 的安装开始,随后介绍了 Pyth....
发表于 04-08 08:00 ? 149次 阅读
Python基础教程第3版PDF电子书免费下载

Python 持续点火,跟进还是观望?

近日,李笑来带着他的 Python 编程书,一路狂收 Star、Fork,火速登顶 GitHub T....
的头像 人工智能头条 发表于 04-05 10:13 ? 603次 阅读
Python 持续点火,跟进还是观望?

关注996的程序员,都来自于哪些单位?

可见,所有公司中,关注996的程序员最多的是来自阿里系的公司,有148人,其次是腾讯、百度、京东等,....
的头像 电子发烧友网工程师 发表于 04-04 17:11 ? 853次 阅读
关注996的程序员,都来自于哪些单位?

Python爬取394452条《都挺好》弹幕数据,发现弹幕比剧还精彩?

发送条数在3条及以内的用户数占比达到了83.73%,他们累计贡献了133331条弹幕,占到弹幕总数的....
的头像 电子发烧友网工程师 发表于 04-04 17:04 ? 540次 阅读
Python爬取394452条《都挺好》弹幕数据,发现弹幕比剧还精彩?

手把手教你使用Python实现机器学习算法

特征提取就是应用某种算法通过某种方式来量化数据的过程。比如,对于图像数据,我们可以采用计算直方图的方....
的头像 电子发烧友网工程师 发表于 04-04 16:49 ? 651次 阅读
手把手教你使用Python实现机器学习算法

Python的时间操作处理资料总结

python中处理时间的??橛腥?,datetime, time,calendar,融汇贯通三个???...
的头像 马哥Linux运维 发表于 03-30 10:28 ? 537次 阅读
Python的时间操作处理资料总结

如何使用Python快速搭建FTP服务器

今天的实验目的:使用9行Python代码快速搭建一个FTP服务器!需要使用的第三方库:pyftpdl....
的头像 马哥Linux运维 发表于 03-30 10:23 ? 591次 阅读
如何使用Python快速搭建FTP服务器

史上最全Python面向对象编程的资料合集

面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。
的头像 马哥Linux运维 发表于 03-30 10:11 ? 506次 阅读
史上最全Python面向对象编程的资料合集

Python如何防止数据被修改Python中的深拷贝与浅拷贝的问题说明

在平时工作中,经常涉及到数据的传递。在数据传递使用过程中,可能会发生数据被修改的问题。为了防止数据被....
的头像 马哥Linux运维 发表于 03-30 09:54 ? 462次 阅读
Python如何防止数据被修改Python中的深拷贝与浅拷贝的问题说明

无需编程基础,概述Python编程语言的所有关键点

??橛氚侨魏未笮统绦虻暮诵?,就连Python安装程序本身也是一个包。包是一个有层次的文件目录结构,....
的头像 新智元 发表于 03-29 11:14 ? 253次 阅读
无需编程基础,概述Python编程语言的所有关键点

使用Go代替Python的优点

我喜欢有一个二进制文件。我通常在EC2机器上运行代码,使我的脚本更接近S3和我们的数据库。使用Pyt....
的头像 电子发烧友网工程师 发表于 03-28 14:55 ? 322次 阅读
使用Go代替Python的优点

盘点一下2月份GitHub上最热门的Python开源项目

这是一个Python程序集合,它们不仅可以帮助你快速找到你想要的Python项目,还能作为你日???...
的头像 电子发烧友网工程师 发表于 03-28 10:41 ? 527次 阅读
盘点一下2月份GitHub上最热门的Python开源项目

笨办法学C语言PDF中文版电子书免费下载

如果有一段引述用来描述C语言编程的话,那就是它了。对于大多数程序员,C是极其可怕而且邪恶的。他就像是....
发表于 03-26 16:23 ? 225次 阅读
笨办法学C语言PDF中文版电子书免费下载

中午不知道吃什么,用Python爬取美团外卖评论帮你选餐

朋友暑假实践需要美团外卖APP评论这一份数据,一开始我想,这不就抓取网页源代码再从中提取数据就可以了....
的头像 马哥Linux运维 发表于 03-26 15:43 ? 566次 阅读
中午不知道吃什么,用Python爬取美团外卖评论帮你选餐

为什么这几年Python这么火?学习Python岗位薪资水平如何?

今年1月,Python依旧卫冕PYPL编程榜单,并且与Java的差距拉得更远了一些。以往与Java常....
的头像 电子发烧友网工程师 发表于 03-26 10:13 ? 321次 阅读
为什么这几年Python这么火?学习Python岗位薪资水平如何?

python机器学习工具sklearn使用手册的中文版免费下载

本文档的主要内容详细介绍的是python机器学习工具sklearn使用手册的中文版免费下载包括了:1....
发表于 03-26 08:00 ? 99次 阅读
python机器学习工具sklearn使用手册的中文版免费下载

python代码:利用几十行python书写微信机器人

1.使用环境 系统:window10 IDE:spyder 主要程序包:itcha....
发表于 03-25 13:44 ? 126次 阅读
python代码:利用几十行python书写微信机器人

Shawcroft和吉祥物:Shawcroft正在领导CircuitPython的开发

Shawcroft说他十几岁时就对编程产生了兴趣,他是“通过Web进入编程领域的第一代人中的一员”。....
的头像 IEEE电气电子工程师学会 发表于 03-25 08:58 ? 365次 阅读
Shawcroft和吉祥物:Shawcroft正在领导CircuitPython的开发

pycharm环境配置教程详细资料免费下载

PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效....
发表于 03-25 08:00 ? 34次 阅读
pycharm环境配置教程详细资料免费下载

一个成功的人工智能项目有那八个关键角色

随着企业进一步开发人工智能项目,他们发现某些角色对业务的成功至关重要,但是很难找到合适的人才。人工智....
的头像 AI人工智能D1net 发表于 03-24 09:51 ? 959次 阅读
一个成功的人工智能项目有那八个关键角色

Python爬虫库中Beautiful Soup库的使用资料说明

Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库,简单来说,它....
的头像 马哥Linux运维 发表于 03-24 09:22 ? 594次 阅读
Python爬虫库中Beautiful Soup库的使用资料说明

python爬虫框架有哪些

本视频主要详细介绍了python爬虫框架有哪些,分别是Django、CherryPy、Web2py、....
的头像 发烧友学院 发表于 03-22 16:13 ? 261次 阅读
python爬虫框架有哪些

用最简单的语言解释Python的闭包是什么?

闭包很蓝瘦,你应该尽量理解一下它。
的头像 马哥Linux运维 发表于 03-21 16:33 ? 619次 阅读
用最简单的语言解释Python的闭包是什么?

为什么几百种编程语言偏偏Python炙手可热?

来自美国的招聘网站 Dice 发布了一份重要数据结论,那便是“Python 的就业市场非常健康”!许....
的头像 电子发烧友网工程师 发表于 03-21 09:37 ? 589次 阅读
为什么几百种编程语言偏偏Python炙手可热?

学习Python的最佳方式取决于你个人的学习方式

Real Python(https://realpython.com/):Real Python 提....
的头像 电子发烧友网工程师 发表于 03-21 09:28 ? 328次 阅读
学习Python的最佳方式取决于你个人的学习方式

Python爬虫工程师面试经历

前段时间快要毕业,而我又不想找自己的老本行Java开发,所以面了很多Python爬虫岗位。因为我在南....
的头像 工程师人生 发表于 03-20 15:01 ? 454次 阅读
Python爬虫工程师面试经历

学Excel还是 R、Python?机器学习怎么入门?

数据科学家分为两个职业。数据工程师为模型提供可用的数据,机器学习和数学建模涉及比较少,这些工作主要由....
的头像 电子发烧友网工程师 发表于 03-19 15:46 ? 372次 阅读
学Excel还是 R、Python?机器学习怎么入门?

计算机视觉开源库集锦

Dlib是一个现代的C++工具包,包含机器学习算法和工具,用于在C++中创建复杂的软件来解决实际问题....
的头像 电子发烧友网工程师 发表于 03-19 11:48 ? 546次 阅读
计算机视觉开源库集锦

2019年最值得关注的34个Python开源项目——Let's go!

是 Google 专为 NISQ 算法打造的框架,用于创建、编辑和调用嘈杂中型量子 (NISQ,No....
的头像 电子发烧友网工程师 发表于 03-19 10:37 ? 750次 阅读
2019年最值得关注的34个Python开源项目——Let's go!

用Python带领大家一起探索这些诱人的奖金背后的秘密!

但为什么每期双色球一等奖奖金不是固定的呢!就是因为其奖金机制,双色球当期销售额的51%作为当期奖金!....
的头像 电子发烧友网工程师 发表于 03-19 10:29 ? 685次 阅读
用Python带领大家一起探索这些诱人的奖金背后的秘密!

一个国外小哥用好几年时间维护的Python代码合集

因为在学习写代码的过程中,我们应该尽量避免重复。写代码不像背单词,你只要知道一门编程语言能干什么,等....
的头像 电子发烧友网工程师 发表于 03-19 10:24 ? 679次 阅读
一个国外小哥用好几年时间维护的Python代码合集

R和Python到底谁更好如何将Python与R同时应用在同一个项目

如果你从事在数据科学领域,提到编程语言,一定能马上想到 R 语言和 Python语言(以下分别简称 ....
的头像 电子发烧友网工程师 发表于 03-17 10:35 ? 602次 阅读
R和Python到底谁更好如何将Python与R同时应用在同一个项目

2019年的编程语言排行榜你知道吗

TIOBE 公布了2019年3月编程语言排行榜,排名前十的依然是:Java, C, Python, ....
的头像 电子发烧友网工程师 发表于 03-17 10:13 ? 2879次 阅读
2019年的编程语言排行榜你知道吗

人工智能风口捆绑在一起的Python,似乎从来不缺热度

横向与其他技术岗位相比,Python这样的薪资涨幅也算得上是表现突出。下图显示,Python在201....
的头像 电子发烧友网工程师 发表于 03-16 09:53 ? 714次 阅读
人工智能风口捆绑在一起的Python,似乎从来不缺热度
  • 西安七旬老人拄拐到高考志愿咨询会 帮孙子看看报啥学校 2019-04-25
  • 高清希门尼斯头球绝杀 乌拉圭1 2019-04-25
  • 2020年产销整车60万辆以上 汽车之都或成杭州新称号 2019-04-25
  • 人民网评:涉及群众利益的事,必须“马上就办” 2019-04-25
  • 特氏说让日韩买单并没有提中国。你为何把中国加上啊? 2019-04-24
  • 1—5月我省进出口总值1439.7亿元 增速全国第二 2019-04-24
  • 回复@IP比ID好:你的意思是不分老少不分男女不分勤懒不分聪笨……想干啥就干啥?或配置同样多的资源? 2019-04-24
  • 这就是批判的武器和武器的批判 2019-04-23
  • 暖心!高铁列车为他停靠三分钟 这一次没有人反对 2019-04-23
  • 普京总统新任期工作方向曝光 首要任务是这个 2019-04-23
  • 毛泽东说帝国主义都是纸老虎。是有社会基础的 2019-04-22
  • 永济:雨天采摘黄花菜 多元增收过端午 2019-04-22
  • 紫光阁中共中央国家机关工作委员会 2019-04-22
  • 打开水龙头流出“鲜橙多” 南昌县这个小区神了! 2019-04-21
  • 牢牢抓住新时代广东发展的关键重点——三论认真学习贯彻省委十二届四次全会精神 2019-04-21
  • 294| 112| 278| 844| 180| 447| 722| 160| 337| 679|