如何用python製作動態二維碼,來哄女朋友開心?
- 2020 年 4 月 7 日
- 筆記
大家好,我是朱小五

如何用python製作動態二維碼,來哄女朋友開心?
這句話前半部分相信大家已經很熟悉了,很多同學也給自己的網站地址做過圖片為底的二維碼。
後半部分呢?那肯定要增加一些趣味啊,不然豈不是對不起凹凸數據的solgan。
先看看在抖音上超級火的影片吧。
原理非常簡單,關鍵就是那個帶圖片的二維碼。
那我們接下來開始仿照著做一下。
1、拿到網址
手疾眼快的截圖,拿到剛才影片中出現的二維碼,並解析成網址。
結果:https://a.scene.eprezi.com/s/XteInz0v?adpop=1
2、安裝MyQR庫
直接用pip install MyQR(或者myqr)即可。
需要注意的是MyQR依賴於python3,在python2的環境下可能無法正常運行。
3、了解一下myqr相關參數的使用說明

4、生成普通二維碼
在程式中導入MyQR包下的模板myqr,其中word參數接收一個字元串作為二維碼的內容。
from MyQR import myqr #此處注意大小寫 myqr.run(words='https://a.scene.eprezi.com/s/XteInz0v?adpop=1')
這裡沒有加參數限制,所以運行後本地只生成了一個名為「qrcode.png」的普通二維碼圖片。

下面我們添加參數試試。
5、生成帶圖片的動態二維碼
在網上沒有收到同款圖片,只找到了一個類似的動圖,並命名為:發射心心.gif

程式碼如下(相關參數解釋我已經寫在了注釋里):
from MyQR import myqr #使用前需要先安裝myqr模組,終端里運行:pip install myqr myqr.run( words='https://a.scene.eprezi.com/s/XteInz0v?adpop=1', #輸入鏈接或者句子作為參數,掃描二維碼後顯示 version=5, #控制邊長,範圍是1到40,數字越大邊長越大,默認邊長是取決於你輸入的資訊的長度和使用的糾錯等級。 level='H', #控制糾錯水平,範圍是L、M、Q、H,從左到右依次升高 picture='發射心心.gif', #將QR二維碼影像與一張同目錄下的圖片相結合,此處設置該圖片 colorized=True, #默認是黑白(False),可以選擇彩色(True) contrast=1.0, #調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0。 brightness=1.0, #調節圖片的亮度,用法與contrast相同。 save_name='xinxin.gif', #輸出文件名,格式可以是 .jpg, .png ,.bmp ,.gif ; myqr.run(words='https://www.cnblogs.com/Estate-47/')
結果如下:

這樣我們就根據H5的鏈接生成了文章開始影片里的動態二維碼了,不如發給女朋友試試?
溫馨提醒,微信發動態圖會變成表情包,建議發靜態圖。
也就是改成picture='xinxin.jpg'即可。
完整程式碼和gif圖片
關注公眾號「凹凸數據」後台回復「gif」即可獲取
參考文章:
Huang supreme 《python教你生成動態二維碼》