程序員必備!用 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參數(shù)指定了我們保存二維碼圖片的位置,對我們生成的二維碼掃碼后我們就可以正常打開python的官方網(wǎng)站
當前還有其他的一些基礎的內(nèi)置參數(shù)去配置生成的二維碼,大家可以自己玩一玩
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動態(tài)的二維碼圖片,我們只需要將picture參數(shù)中的靜態(tài)圖片替換為gif動態(tài)圖片就可以了,這里我使用的gif動態(tài)圖片是這個
待補充gif二維碼
看看制作成動態(tài)gif動態(tài)二維碼后的效果
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碼顏色信息。主要步驟包括:
- 輸入內(nèi)容字符串
- 使用 shipyard 將字符串處理為可存儲于QR碼中的字節(jié)信息
- 根據(jù)參數(shù)設置QR碼樣式
- 使用 Pillow 繪制初始 QR碼圖片
- 若設置彩色,則計算顏色填充并生成彩色QR碼
- 若設置了圖片,則讀取圖像嵌入QR碼
- 根據(jù)保存設置,保存目標圖片或GIF動圖