如何用 Python 生成炫酷二维码及解析
生活随笔
收集整理的這篇文章主要介紹了
如何用 Python 生成炫酷二维码及解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如今二維碼可以說遍及了我們生活的各個角落,基本上我們的衣食住行都會見到二維碼的身影。Python 用于生成及解析二維碼的庫為:qrcode、myqr 和 zxing,安裝通過 pip install qrcode/myqr/zxing 即可。
生成
生成二維碼的 Python 庫為:qrcode、myqr,接下來我們通過示例來看一下。
1. 方式一
qrcode 庫可以生成一些相對簡單的二維碼,優勢是速度快、占用空間小,便于在線生成,以掃描二維碼跳轉某地址為例來看一下。
import qrcode ? # 二維碼內容(鏈接地址或文字) data = 'https://www.baidu.com/' # 生成二維碼 img = qrcode.make(data=data) # 顯示二維碼 img.show() # 保存二維碼 # img.save('qr.jpg')效果如下:
我們可以看出上面的是最基本的二維碼,下面我們對它進行一下簡單的美化。
import qrcode ? ''' version:二維碼的格子矩陣大小,可以是 1 到 40,1 最小為 21*21,40 是 177*177 error_correction:二維碼錯誤容許率,默認 ERROR_CORRECT_M,容許小于 15% 的錯誤率 box_size:二維碼每個小格子包含的像素數量 border:二維碼到圖片邊框的小格子數,默認值為 4 ''' qr = qrcode.QRCode(version=2,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=15,border=3, ) # 二維碼內容 data = 'https://www.baidu.com/' qr.add_data(data=data) # 啟用二維碼顏色設置 qr.make(fit=True) img = qr.make_image(fill_color='blue', back_color='white') # 顯示二維碼 img.show()效果如下:
2. 方式二
如果我們想要生成更加炫酷的二維碼可以使用 myqr 庫,但它同樣有缺點,就是不適合在線使用。
普通樣式
我們先生成一個基本二維碼。
from MyQR import myqr ? ''' words:內容 version:容錯率 save_name:保存的名字 ''' myqr.run(words='https://www.baidu.com/',version=1,save_name='myqr.png')效果如下:
帶圖樣式
我們接著生成一個帶圖二維碼。
from MyQR import myqr ? ''' picture:生成二維碼用到的圖片 colorized:False 為黑白,True 為彩色 ''' myqr.run(words='https://www.baidu.com/',version=1,picture='bg.jpg',colorized=True,save_name='pmyqr.png')效果如下:
動態樣式
最后我們生成一個動態二維碼。
from MyQR import myqr ? myqr.run(words='https://www.baidu.com/',version=1,picture='my.gif',colorized=True,save_name='myqr.gif')效果如下:
解析
zxing 庫是用來解析二維碼的,我們通過示例來看一下。
import zxing ? reader = zxing.BarCodeReader() barcode = reader.decode('myqr.gif') print(barcode.parsed)如果我們需要對現有二維碼進行美化,只需如下兩步即可。
- 對現有二維碼進行解析獲取解析內容
- 利用解析的內容生成新的二維碼
比如以如下二維碼為例,我們對其解析并生成新的二維碼。
效果如下:
這樣我們會發現掃描原二維碼與新生成的二維碼具體相同的效果。
在公眾號 Python小二 后臺回復 qrcode 獲取源碼
總結
以上是生活随笔為你收集整理的如何用 Python 生成炫酷二维码及解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 讯飞语音——唤醒
- 下一篇: cs224n第二讲:简单的词向量表示:w