程序員必備!用 Python 輕松生成自定義二維碼
MyQR是Python的一個庫,它可以用來方便地生成藝術、自定義和極簡QR碼。MyQR可以生成黑白、彩色、GIF動圖等多種樣式的QR碼。
安裝MyQr
pip install MyQr
1.生成普通的黑白二維碼
from MyQr import myqr
MyQR.run('https://www.python.org/',save_name=r"D:\demo_png.png")
在上面我們直接使用了myqr.run()方法,并且使用save_name參數指定了我們保存二維碼圖片的位置,對我們生成的二維碼掃碼后我們就可以正常打開python的官方網站
當前還有其他的一些基礎的內置參數去配置生成的二維碼,大家可以自己玩一玩
2.生成帶圖片的二維碼
這里我就用我隨機生成一個Python都知道的logo作為圖片背景
接下來我們開始制作
from MyQR import myqr
myqr.run(
words='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzkwMDE4NzE5OQ==&scene=124#wechat_redirect',
colorized=True,
save_name=r"D:\demo_png.png",
picture=r"python_know_logo.png",
contrast=1.5,
)
生成的帶圖片二維碼效果如下:
這里我是隨便用的一張圖片,所以可能生成出來的樣式可能有點難看,不過你們下面去嘗試的時候可以使用一些好看的圖片試試
3.生成GIF動圖二維碼
生成一張gif動態的二維碼圖片,我們只需要將picture參數中的靜態圖片替換為gif動態圖片就可以了,這里我使用的gif動態圖片是這個
待補充gif二維碼
看看制作成動態gif動態二維碼后的效果
from MyQR import myqr
myqr.run(
words='https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzkwMDE4NzE5OQ==&scene=124#wechat_redirect',
colorized=True,
save_name=r"D:\demo_png.gif",
picture=r"xiaohuangren.gif",
contrast=1.5,
)
原理簡析
MyQR 庫的核心原理是利用 Pillow 圖像庫生成QR碼圖片,并通過 shipyard 庫計算QR碼顏色信息。主要步驟包括:
- 輸入內容字符串
- 使用 shipyard 將字符串處理為可存儲于QR碼中的字節信息
- 根據參數設置QR碼樣式
- 使用 Pillow 繪制初始 QR碼圖片
- 若設置彩色,則計算顏色填充并生成彩色QR碼
- 若設置了圖片,則讀取圖像嵌入QR碼
- 根據保存設置,保存目標圖片或GIF動圖