免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用Python制作迷宮GIF

安裝

可以通過PyPi安裝

或者通過Git


為什么你需要這個庫?

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

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

1、它是純Python編寫的,沒有第三方依賴,只使用內置模塊?。ㄈ绻阆氚褎赢嬊度雸D片,那么你需要PIL,PIL雖然不是內置模塊,但是任何Python版都支持PIL。除此之外再沒有其他的依賴了)

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

3、你可以繪制各種各樣的迷宮動畫,和解迷宮動畫。

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

這個庫的一個教程

首先我們需要構建一個GIFSurface對象(類似cairo的ImageSurface類),我們的動畫將會畫在這個對象上。同時,我們需要指定圖片的大小和可用的顏色數量。

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

只要你還沒有最后保存圖片,你都可以更改設置調色板,你可以這樣做

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

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

然后我們設置這個動畫的控制參數

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

我們有了繪制動畫的“桌面”,和繪制動畫需要的參數,接下來就是實際地畫一個迷宮了。

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

然后讓我們運行Prim的迷宮算法。

其中我加了兩個延遲幀,以便我們能夠看清楚動畫的過程。

完成了!讓我們把這個動畫保存到GIF文件。

下面是運行結果,大小小于300K,很贊吧!

當然,你也可以把多個算法整合進一個動畫。下面的動畫展示了隨機深度優(yōu)先搜索算法和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


英文原文:https://github.com/neozhaoliang/gifmaze

譯者:詩書塞外

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python中機器學習及深度學習庫合集!
python:程序猿的方式在元宵佳節(jié)之際,帶你設計【東方明珠】動畫浪漫煙花秀(python編程利用Tkinter+PIL庫)
10個熱門Python練習項目
Python應用 | 三行代碼實現GIF動畫
gif動畫圖片庫
python獲取圖片顏色信息的方法
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服