chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

馬哥Linux運(yùn)維 ? 來源:電子發(fā)燒友網(wǎng) ? 作者:工程師譚軍 ? 2018-07-13 08:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

安裝

可以通過PyPi安裝

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

或者通過Git

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

為什么你需要這個(gè)庫?

問:我是一個(gè)Python迷,并且對(duì)迷宮的生成和迷宮解決的辦法非常感興趣。我很羨慕別人能夠做出生成迷宮的動(dòng)畫。我如何能夠用Python自己做一個(gè)迷宮動(dòng)畫,然后把我的成果展示給其他人呢?(我知道tkinter, pyglet 和 pyqt,但是它們很難發(fā)布給別人看)

答:現(xiàn)在,你可以使用庫gifmaz來做這件事了,它有一些很好的特性:

1、它是純Python編寫的,沒有第三方依賴,只使用內(nèi)置模塊?。ㄈ绻阆氚褎?dòng)畫嵌入圖片,那么你需要PIL,PIL雖然不是內(nèi)置模塊,但是任何Python版都支持PIL。除此之外再?zèng)]有其他的依賴了)

2、它運(yùn)行速度很快,而且?guī)酌腌娋湍苌蓛?yōu)化過的GIF圖片。每個(gè)GIF通常都包含上千幀,但是GIF大小確只有幾百KB。

3、你可以繪制各種各樣的迷宮動(dòng)畫,和解迷宮動(dòng)畫。

4、代碼都有很好的注釋,文檔有很好的范例,而且文檔很完整。

這個(gè)庫的一個(gè)教程

首先我們需要構(gòu)建一個(gè)GIFSurface對(duì)象(類似cairo的ImageSurface類),我們的動(dòng)畫將會(huì)畫在這個(gè)對(duì)象上。同時(shí),我們需要指定圖片的大小和可用的顏色數(shù)量。

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

這里color_depth=2意味著調(diào)色板中有2^2=4種顏色,bg_color=0說明調(diào)色板中的第0個(gè)顏色被作為背景色。

只要你還沒有最后保存圖片,你都可以更改設(shè)置調(diào)色板,你可以這樣做

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

所以圖片中可以用的顏色有:黑、白、品紅、黑。

然后我們構(gòu)建一個(gè)環(huán)境,生成的動(dòng)畫基于這個(gè)環(huán)境構(gòu)建(類似cairo的Context類)。

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

然后我們?cè)O(shè)置這個(gè)動(dòng)畫的控制參數(shù)

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

這些參數(shù)的意思是“每20步渲染一幀,幀之間間隙0.05s,調(diào)色板中第四個(gè)顏色作為通明度通道”。

我們有了繪制動(dòng)畫的“桌面”,和繪制動(dòng)畫需要的參數(shù),接下來就是實(shí)際地畫一個(gè)迷宮了。

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

這個(gè)語句在圖片中央繪制了一個(gè)迷宮,然后在四邊留了8像素的空白,迷宮中每一格在圖片中占據(jù)5像素*5像素的大小。

然后讓我們運(yùn)行Prim的迷宮算法

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

其中我加了兩個(gè)延遲幀,以便我們能夠看清楚動(dòng)畫的過程。

完成了!讓我們把這個(gè)動(dòng)畫保存到GIF文件。

怎樣用Python制作迷宮GIF 本文將告訴你訣竅

下面是運(yùn)行結(jié)果,大小小于300K,很贊吧!

當(dāng)然,你也可以把多個(gè)算法整合進(jìn)一個(gè)動(dòng)畫。下面的動(dòng)畫展示了隨機(jī)深度優(yōu)先搜索算法和A*搜索算法。(這個(gè)圖片只有120K)

這個(gè)庫的原理是什么?

這個(gè)庫實(shí)際上是一個(gè)GIF的編碼庫,算法運(yùn)行過程中,動(dòng)畫幀被編碼為BytesIO文件。只有在調(diào)用save方法時(shí),動(dòng)畫才會(huì)真正地被存入圖片。

深度資料

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4859

    瀏覽量

    89625
  • GIF
    GIF
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    7011

原文標(biāo)題:用Python制作迷宮GIF

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    沒有專利的opencv-python 版本

    專利風(fēng)險(xiǎn),僅需避開 opencv-contrib-python 的 nonfree 模塊(或直接無頭版)。 如果的場(chǎng)景需要特定功能(如特征提取、目標(biāo)跟蹤),可以告訴我具體需求,我?guī)?/div>
    發(fā)表于 12-13 12:37

    LABVIEW 2023 Q1調(diào)用python后一直報(bào)錯(cuò)1671

    程序后續(xù)重新下載python,python版本改為3.6.0(32位,同labview版本:Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 201
    發(fā)表于 11-12 09:51

    Python調(diào)用API教程

    兩個(gè)不同系統(tǒng)之間的信息交互。在這篇文章中,我們詳細(xì)介紹Python調(diào)用API的方法和技巧。 一、Requests庫發(fā)送HTTP請(qǐng)求 使用Python調(diào)用API的第一步是發(fā)送HTTP
    的頭像 發(fā)表于 11-03 09:15 ?350次閱讀

    Python 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情爬蟲實(shí)戰(zhàn)

    一、技術(shù)選型:為什么選 Python 而不是 Java? 結(jié)論: “調(diào)研階段 Python,上線后如果 QPS 爆表再考慮 Java 重構(gòu)?!?二、整體架構(gòu)速覽(3 分鐘看懂) 三、開發(fā)前準(zhǔn)備(5
    的頭像 發(fā)表于 10-21 16:59 ?390次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情爬蟲實(shí)戰(zhàn)

    自制巡線解迷宮機(jī)器人(上)

    一玩,當(dāng)然如果在使用的過程中遇到了一些問題,歡迎在GitHub上給我提交Issues或者在文章評(píng)論區(qū)里留言,有空的話我肯定會(huì)及時(shí)回復(fù)的。 巡線解迷宮機(jī)器人圖1原理 硬件 電機(jī)電源層 電機(jī)電源層
    發(fā)表于 10-20 10:39

    如何使用 NVTFAT 顯示 GIF

    如何使用 NVTFAT 顯示 GIF?
    發(fā)表于 09-04 06:47

    termux調(diào)試python猜數(shù)字游戲

    termux做一個(gè)猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實(shí)現(xiàn)方案,結(jié)合Python實(shí)現(xiàn)(最適配Termux環(huán)境): ? 一、環(huán)境準(zhǔn)備(Termux基礎(chǔ)配置) 1.
    發(fā)表于 08-29 17:15

    基礎(chǔ)篇3:掌握Python中的條件語句與循環(huán)

    Python編程語言中,條件語句和循環(huán)是構(gòu)成復(fù)雜邏輯和數(shù)據(jù)處理的基石。本篇基礎(chǔ)教程幫助您深入了解Python中的條件語句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語句 條件語句允許程序根據(jù)
    發(fā)表于 07-03 16:13

    單片機(jī)項(xiàng)目實(shí)例:STM32上JPG_GIF圖片顯示并支持縮放

    單片機(jī)項(xiàng)目實(shí)例:STM32上JPG_GIF圖片顯示并支持縮放,推薦下載!
    發(fā)表于 06-03 22:10

    python入門圣經(jīng)-高清電子書(建議下載)

    此資料內(nèi)容是一本針對(duì)所有層次的Python 讀者而作的Python 入門電子書。 全書分兩部分:第一部分介紹Python 編程所必須了解的基本概念,包括matplotlib、NumP
    發(fā)表于 04-10 16:53

    ?如何在虛擬環(huán)境中使用 Python,提升的開發(fā)體驗(yàn)~

    RaspberryPiOS預(yù)裝了Python需要使用其虛擬環(huán)境來安裝包。今天出版的最新一期《TheMagPi》雜志刊登了我們文檔負(fù)責(zé)人NateContino撰寫的一篇實(shí)用教程,幫助你入門
    的頭像 發(fā)表于 03-25 09:34 ?642次閱讀
    ?如何在虛擬環(huán)境中使用 <b class='flag-5'>Python</b>,提升<b class='flag-5'>你</b>的開發(fā)體驗(yàn)~

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    在這篇文章中,我將為簡(jiǎn)要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運(yùn)行一個(gè)簡(jiǎn)單的Python程序。什么是
    的頭像 發(fā)表于 03-25 09:27 ?1560次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行<b class='flag-5'>Python</b>程序?

    DLP6500能否Python編程進(jìn)行開發(fā),是否有API接口?

    本人第一次接觸DLP的開發(fā)板,想知道DLP6500這款板子能否Python編程進(jìn)行開發(fā),是否有API接口?
    發(fā)表于 02-28 06:58

    如何python文件導(dǎo)入到ROS系統(tǒng)中

    本文通過使用myCobot機(jī)械臂進(jìn)行QR碼視覺追蹤的實(shí)踐案例分析,介紹如何 python 文件導(dǎo)入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?1228次閱讀
    如何<b class='flag-5'>將</b><b class='flag-5'>python</b>文件導(dǎo)入到ROS系統(tǒng)中

    使用Python實(shí)現(xiàn)xgboost教程

    使用Python實(shí)現(xiàn)XGBoost模型通常涉及以下幾個(gè)步驟:數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練、模型評(píng)估和模型預(yù)測(cè)。以下是一個(gè)詳細(xì)的教程,指導(dǎo)如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發(fā)表于 01-19 11:21 ?2249次閱讀