天天看點

如何通過一行代碼制作個人專屬動态微信二維碼?

各位同學好,今天又是一個晴空萬裡的周末,面對外面這麼好的天氣,不好好在家學習怎麼對得起外面的這個天氣。

在逛 Github 的時候,發現了一個好玩的二維碼制作的庫:https://github.com/sylnsfar/qrcode 。這個庫的 star 已經超過 7k 了,而且附帶了中文文檔,各位感興趣的同學可以通路前面那個連結為作者點亮一個 star 。

這個庫的介紹是這麼寫的:

Python 藝術二維碼生成器 (GIF動态二維碼、圖檔二維碼)

先放一個自己的作品,然後我們再來細細拆解這東西怎麼做。

如何通過一行代碼制作個人專屬動态微信二維碼?
如何通過一行代碼制作個人專屬動态微信二維碼?

上面是小編使用的兩個 gif 動圖生成的兩個二維碼,看起來還是滿炫酷的,那麼,這玩意到底是怎麼做出來的。

第一步,當然是需要先安裝對應的類庫:

pip install myqr
           

有一點需要說明下, myqr 目前隻支援運作在 python3 的環境下,是以,還在使用 python2 的同學們,你們已經被時代抛棄了。

第二步就是素材準備了,動圖的資源已經送出到代碼倉庫了,小編這裡就不貼出來了,當然,想要使用自己喜歡的動圖也是可以的,小編這兩個動圖是來自于自己的肥宅小夥伴(請這位同學自己在評論區報道)。

接下來就是二維碼部分了,首先我們要清楚二維碼本質上記錄了什麼。

二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的、黑白相間的、記錄資料符号資訊的圖形;在代碼編制上巧妙地利用構成計算機内部邏輯基礎的“0”、“1”比特流的概念,使用若幹個與二進制相對應的幾何形體來表示文字數值資訊,通過圖象輸入裝置或光電掃描裝置自動識讀以實作資訊自動處理:它具有條碼技術的一些共性:每種碼制有其特定的字元集;每個字元占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的資訊自動識别功能、及處理圖形旋轉變化點。

上面這段内容是摘自百度百科,如果沒看懂,沒關系,小編用大白話解釋一下:就是使用對應的算法,講資訊存儲在了圖形中,本質上我們日常見到的二維碼解碼後都是一串字元串。

既然二維碼是字元串,那就好說了,就拿小編的公衆号二維碼來講,我們如何知道這個二維碼上的字元串到底是什麼呢?

如何通過一行代碼制作個人專屬動态微信二維碼?

做過營運的同學應該對一個網站非常熟悉,草料二維碼:https://cli.im/ 。

在這個網站上,我們可以通過上傳二維碼進行解析,進而得到這個二維碼中的資訊。

如何通過一行代碼制作個人專屬動态微信二維碼?

小編這裡上傳下公衆号的二維碼,看下結果:

如何通過一行代碼制作個人專屬動态微信二維碼?

可以看到,解碼後的結果是一個網址:http://weixin.qq.com/r/Lym2rp7Ev8PArdrN93w9 ,拿到這個網址資訊後,我們的準備工作就完成了。

接下來就是使用 myqr 生成我們的動态二維碼了:

from MyQR import myqr
import os

version, level, qr_name = myqr.run(
    words="http://weixin.qq.com/r/Lym2rp7Ev8PArdrN93w9",  # 可以是字元串,也可以是網址(前面要加http(s)://)
    version=1,  # 設定容錯率為最高
    level='H',  # 控制糾錯水準,範圍是L、M、Q、H,從左到右依次升高
    picture="3.gif",  # 将二維碼和圖檔合成
    colorized=True,  # 彩色二維碼
    contrast=1.0,  # 用以調節圖檔的對比度,1.0 表示原始圖檔,更小的值表示更低對比度,更大反之。預設為1.0
    brightness=1.0,  # 用來調節圖檔的亮度,其餘用法和取值同上
    save_name="4.gif",  # 儲存檔案的名字,格式可以是jpg,png,bmp,gif
    save_dir=os.getcwd()  # 控制位置
)
           

對于上面這一小段代碼,小編就不多解釋了,裡面的注釋已經寫得很清楚了。

是不是很簡單,當然小編是使用了自己的公衆号二維碼,各位同學也可以使用自己的微信二維碼,使用自己喜歡的動圖,通過上面這一小段代碼,制作一個自己專屬的個人微信二維碼。

本篇文章中使用到的二維碼、動圖以及代碼,都上傳代碼倉庫,有需要的同學請自取。

示例代碼-Github

示例代碼-Gitee

掃描二維碼關注「極客挖掘機」公衆号!

作者:極客挖掘機

定期發表作者的思考:技術、産品、營運、自我提升等。

本文版權歸作者極客挖掘機和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

如果您覺得作者的文章對您有幫助,就來作者個人小站逛逛吧:

極客挖掘機