Python實現動態(tài)二維碼生成的示例代碼
更新時間:2022年05月07日 15:48:41 作者:李運辰
這篇文章主要和大家分享兩個制作二維碼的Python庫,可以生成普通的二維碼、圖片背景版二維碼、動圖GIF版二維。文中的示例代碼講解詳細,感興趣的可以學習一下
大家好,我是辰哥~
今天給大家分享兩個制作二維碼的Python庫,可以生成普通的二維碼、圖片背景版二維碼、動圖GIF版二維。
1.MyQR
安裝
pip?install?MyQR
普通的二維碼制作
from?MyQR?import?myqr
#運行
myqr.run('http://mtw.so/5w0Ubz')二維碼附上了鏈接,用手機掃的話,就可以直接打開所帶的鏈接
生成的二維碼如下:

微信掃碼的結果如下:

帶背景圖片的二維碼制作
from?MyQR?import?myqr text?=?"http://mtw.so/5w0Ubz" #給二維碼添加圖片背景 myqr.run( ????text, ????picture='./pythonyjz.jpg', ????colorized=True, ????version=8 )
背景圖片(pythonyjz.jpg)

參數說明
- words:二維碼內容
- version:二維碼大小,范圍為 [1,40]
- picture:二維碼背景圖 .jpg,.png,.bmp,.gif,默認為黑白色
- colorized:二維碼背景顏色,默認 False,即黑白色
- save_name:二維碼名稱,默認為 qrcode.png
- save_dir:二維碼路徑,默認為程序當前路徑
生成的二維碼如下:

帶動圖背景的二維碼制作
from?MyQR?import?myqr text?=?"http://mtw.so/5w0Ubz" #給二維碼添加動圖gif背景 myqr.run( ????text, ????#動圖gif ????picture='./pythonyjz.gif', ????colorized=True, ????version=8 )
動圖(pythonyjz.gif)如下:

生成的動圖如下:

圖片背景的二維碼和動圖GIF背景的二維碼,除了傳入的圖片格式不一樣外,其他的設置都可以通用。
2.qrcode
安裝
pip?install?qrcode pip?install?Image pip?install?matplotlib
簡單的二維碼制作
默認參數版
#?導入模塊
import?qrcode
#?傳入將要生成二維碼的URL
img?=?qrcode.make('http://mtw.so/5w0Ubz')
#?保存
img.save('python研究者-1.png')生成的二維碼如下:

自定義參數版
import?qrcode
qr?=?qrcode.QRCode(
????version=10,
????#?二維碼的糾錯功能
????error_correction=qrcode.constants.ERROR_CORRECT_L,
????#?二維碼中每個小格子包含的像素
????box_size=10,
????#?邊框包含的格子數,默認為4
????border=4,
)
#?添加數據
qr.add_data('http://mtw.so/5w0Ubz')
#?填充數據
qr.make(fit=True)
#?二維碼的背景色和格子色
img=qr.make_image(fill_color='black',?back_color='white');
img.save('python研究者-2.png')
生成的二維碼如下:

帶背景圖片的二維碼制作
from?PIL?import?Image
import?qrcode
import?matplotlib.pyplot?as?plt
qr?=?qrcode.QRCode(
????version=1,
????error_correction=qrcode.constants.ERROR_CORRECT_H,
????box_size=5,
????border=4,
)
#?添加數據
qr.add_data("http://mtw.so/5w0Ubz")
#?填充數據
qr.make(fit=True)
#?生成圖片
img?=?qr.make_image(fill_color="green",?back_color="white")
#?添加logo,打開logo照片
icon?=?Image.open("pythonyjz.jpg")
#?獲取圖片的寬高
img_w,?img_h?=?img.size
#?參數設置logo的大小
factor?=?6
size_w?=?int(img_w?/?factor)
size_h?=?int(img_h?/?factor)
icon_w,?icon_h?=?icon.size
if?icon_w?>?size_w:
????icon_w?=?size_w
if?icon_h?>?size_h:
????icon_h?=?size_h
#?重新設置logo的尺寸
icon?=?icon.resize((icon_w,?icon_h),?Image.ANTIALIAS)
#?得到畫圖的x,y坐標,居中顯示
w?=?int((img_w?-?icon_w)?/?2)
h?=?int((img_h?-?icon_h)?/?2)
#?黏貼logo照
img.paste(icon,?(w,?h),?mask=None)
#?保存img
img.save('python研究者-3.png')
生成的二維碼如下:

總結
文章介紹了兩種不同制作二維碼的庫,以及對應的使用,感興趣的可以自己動手試試!!
以上就是Python實現動態(tài)二維碼生成的示例代碼的詳細內容,更多關于Python動態(tài)二維碼的資料請關注腳本之家其它相關文章!

