在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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
    +關注

    關注

    56

    文章

    4823

    瀏覽量

    86071
  • GIF
    GIF
    +關注

    關注

    0

    文章

    24

    瀏覽量

    6755

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    如何python文件導入到ROS系統中

    本文通過使用myCobot機械臂進行QR碼視覺追蹤的實踐案例分析,介紹如何 python 文件導入到 ROS 系統中。
    的頭像 發表于 02-11 11:08 ?626次閱讀
    如何<b class='flag-5'>將</b><b class='flag-5'>python</b>文件導入到ROS系統中

    NE555制作點焊機

    NE555制作點焊機,電路簡單,容易制作。需要一個12v的鉛酸蓄電池。實際焊接效果很好。
    發表于 11-08 15:05 ?27次下載

    谷景告訴插件功率電感壞了可以什么替代

    谷景告訴插件功率電感壞了可以什么替代 編輯:谷景電子 當插件功率電感損壞時,我們能否其他類型的電感來替代?這是一個非常實用的問題,且很多人一直在問。尤其是在電子設備維修和設計領域
    的頭像 發表于 09-22 20:27 ?532次閱讀

    單片機STM32可以Python寫嗎?可以的開發板有哪些?

    近年來,隨著嵌入式技術的發展,Python語言逐漸被引入到單片機開發中,尤其是一些高性能的單片機上。這一趨勢給開發者帶來了極大的便利,尤其是在快速原型設計和實驗中。本文詳細探討STM32單片機是否
    的頭像 發表于 09-05 08:00 ?6998次閱讀
    單片機STM32可以<b class='flag-5'>用</b><b class='flag-5'>Python</b>寫嗎?可以的開發板有哪些?

    怎樣用THS3201實現輸出功率可調?

    怎樣用THS3201實現輸出功率可調?
    發表于 08-26 08:28

    OPA735加OPA333,怎樣用TINA TI去仿真?

    當輸入信號VG1從7.06V慢慢變化到7.22V時。 輸出電壓Vout的變化必須是接近線性變化的。我想知道我該怎樣用TINA TI去仿真?怎樣設置那個輸入信號VG1才能達到我的目的。因為這個電壓源好像
    發表于 08-02 08:39

    pytorch和python的關系是什么

    ,PyTorch已經成為了一個非常受歡迎的框架。本文介紹PyTorch和Python之間的關系,以及它們在深度學習領域的應用。 Python簡介
    的頭像 發表于 08-01 15:27 ?3033次閱讀

    怎樣用表測穩壓管穩壓值

    表是一種常用的電子測量工具,可以用來測量電壓、電流、電阻等多種參數。在測量穩壓管的穩壓值時,我們可以使用萬表的直流電壓測量功能。以下是步驟和注意事項: 準備工具和材料 萬表 穩壓管 電源
    的頭像 發表于 07-31 14:26 ?2790次閱讀

    怎樣用Arduino測試鋰電池容量

    本文詳細介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發表于 07-30 09:14 ?1461次閱讀
    <b class='flag-5'>怎樣用</b>Arduino測試鋰電池容量

    Python建模算法與應用

    上成為理想的腳本語言,特別適用于快速的應用程序開發。本文詳細介紹Python在建模算法中的應用,包括常見的建模算法、Python在建模中的優勢、常用庫以及實際案例。
    的頭像 發表于 07-24 10:41 ?1041次閱讀

    python寫驗證環境cocotb

    本文介紹了cocotb的安裝、python tb文件的寫法、xrun仿真cocotb的腳本等,我們來看看體驗如何。
    的頭像 發表于 07-24 09:38 ?914次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>python</b>寫驗證環境cocotb

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,將會看到一些 Python 實現文件復制的特殊
    的頭像 發表于 07-18 14:53 ?673次閱讀

    pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyCharm是一個流行的Python集成開發環境
    的頭像 發表于 07-11 10:11 ?1279次閱讀

    安卓設備接收iPhone GIF動圖成靜態

    據Reddit社區、X平臺和9to5Google等媒體透露,安卓設備接收iPhone發送的GIF動圖時,有部分用戶反映其變為靜態圖像并伴有明顯的像素化現象。
    的頭像 發表于 05-28 11:50 ?3373次閱讀
    主站蜘蛛池模板: 四虎影音在线观看 | 美女视频永久黄网站免费观看国产 | 欧美视频精品一区二区三区 | 亚洲一区二区三区四区五区六区 | 曰本性l交片视频视频 | 毛片免费高清免费 | 欧美黄色片免费 | 亚洲欧美日韩色图 | 日本加勒比在线播放 | 久久精品视频免费播放 | 色香色香欲天天天影视综合网 | 国产香蕉在线精彩视频 | 欧美色炮 | 色婷婷色综合 | 丝袜美女被c | 抽搐一进一出gif免费男男 | jizz 大全欧美| 欧美在线你懂的 | 亚洲美女高清一区二区三区 | 最好看最新的中文字幕1 | 岛国最新资源网站 | 五月婷婷色视频 | 91在线播放免费不卡无毒 | 久久国产色| 97久久天天综合色天天综合色 | 久久综合久色欧美婷婷 | 国内精品免费视频精选在线观看 | 色中文网 | 国产一级大片在线观看 | 国内一级野外a一级毛片 | 欧美中字 | 国产精品资源网站在线观看 | 午夜黄色福利 | 六月婷婷七月丁香 | 狠狠色狠色综合曰曰 | 男人的天堂天堂网 | 欧美成人鲁丝片在线观看 | 国产成人综合欧美精品久久 | 性欧美护士18xxxxhd视频 | 国产精品免费观看网站 | 青草国内精品视频在线观看 |