国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

安裝

可以通過PyPi安裝

怎樣用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:http://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp。

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90028
  • GIF
    GIF
    +關注

    關注

    0

    文章

    24

    瀏覽量

    7042

原文標題:用Python制作迷宮GIF

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何制作 rt117x 閃存驅動程序?

    的RAM中運行它,然后升級程序。但是現在我不知道如何制作這個閃存驅動器。因此,我想問一下 FAE 是否可以告訴我如何制作它,或者是否有一個使用 rt1170 制作閃存驅動器的 DEMO
    發表于 03-04 06:38

    Python運行本地Web服務并實現遠程訪問

    本文介紹使用Python搭建本地Web服務并結合 ZeroNews 實現公網訪問。
    的頭像 發表于 02-06 11:39 ?150次閱讀
    <b class='flag-5'>Python</b>運行本地Web服務并實現遠程訪問

    沒有專利的opencv-python 版本

    專利風險,僅需避開 opencv-contrib-python 的 nonfree 模塊(或直接無頭版)。 如果的場景需要特定功能(如特征提取、目標跟蹤),可以告訴我具體需求,我幫
    發表于 12-13 12:37

    LABVIEW 2023 Q1調用python后一直報錯1671

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

    Python調用API教程

    兩個不同系統之間的信息交互。在這篇文章中,我們詳細介紹Python調用API的方法和技巧。 一、Requests庫發送HTTP請求 使用Python調用API的第一步是發送HTTP
    的頭像 發表于 11-03 09:15 ?875次閱讀

    Python 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰

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

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

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

    如何使用 NVTFAT 顯示 GIF

    如何使用 NVTFAT 顯示 GIF
    發表于 09-04 06:47

    termux調試python猜數字游戲

    termux做一個猜數字游戲 下面是在Termux中創建猜數字游戲的步驟及完整實現方案,結合Python實現(最適配Termux環境): ? 一、環境準備(Termux基礎配置) 1.
    發表于 08-29 17:15

    基礎篇3:掌握Python中的條件語句與循環

    Python編程語言中,條件語句和循環是構成復雜邏輯和數據處理的基石。本篇基礎教程幫助您深入了解Python中的條件語句和循環結構,讓您能夠更好地控制程序流程。 條件語句 條件語句允許程序根據
    發表于 07-03 16:13

    單片機項目實例:STM32上JPG_GIF圖片顯示并支持縮放

    單片機項目實例:STM32上JPG_GIF圖片顯示并支持縮放,推薦下載!
    發表于 06-03 22:10

    知道船變壓器有哪些嗎?

    在船舶和海洋平臺上,電力系統的穩定運行至關重要,而船變壓器作為其中的關鍵設備,其種類繁多,各具特點。知道船變壓器有哪些嗎?讓我們一起來揭開它們的神秘面紗。CSD船變壓器是船舶供
    的頭像 發表于 06-01 00:00 ?737次閱讀
    <b class='flag-5'>你</b>知道船<b class='flag-5'>用</b>變壓器有哪些嗎?

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

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

    ?如何在虛擬環境中使用 Python,提升的開發體驗~

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

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

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