本文主要介紹兩個可用於生成二維碼的Python第三方庫:MyQR和qrcode。
MyQR的使用:
安裝:
pip install MyQR
導入:
from MyQR import myqr import os
生成二維碼:
# 可用字符:數字0到9,大小寫英文字母,常用英文標點符號和空格。注意不能使用中文!
word = 'https://beeeeee.herokuapp.com'
version, level, qr_name = myqr.run(
word, # 必要參數是二維碼的內容,是一個str,其他參數可選
version = 10, # int,1~40,邊長
level = 'H', # str,'L','M','Q','H',就錯等級
picture = None, # 圖片path,用於制作藝術二維碼,建議選擇正方形的照片
colorized = Fasle, # 上色
contrast = 1.0, # 對比度
brightness = 1.0, # 亮度
save_name = None, # 輸出文件名。默認:輸入圖片文件名_qrcode.png
save_dir = os.getcwd() # 輸出文件存儲目錄
)
myqr.run( )必要參數為word,其他參數可選。其中word可用字符:數字0到9、大小寫英文字母、常用英文標點符號和空格。注意無法使用中文!
以上代碼可以生成一個二維碼,保存在當前文件夾中,默認保存的文件名為mycode.png,掃描二維碼就可以看到word的內容。
可以用picture參數傳入一張照片,可生成以圖片為背景的二維碼,當colorized的值為True時,二維碼顯示圖片的顏色,False時二維碼顯示為黑白。
如果需要生成背景為動態圖片的二維碼,可通過picture參數傳入.gif動態圖,save_name參數用於自定義保存文件名,這是需要保存二維碼為.gif,否則默認保存為.png,無法生成動態圖。
qrcode的使用:
安裝:
pip install qrcode
導入:
import qrcode
快速生成二維碼:
text = '快速生成二維碼'*10
image = qrcode.make(text) # 快速生成一個二維碼
image.save('test.jpg') # 保存二維碼到當前目錄
image.get_image() # image.show()
高級用法:
text = '高級用法測試!!'*10
qr = qrcode.QRCode(
version=1, # int,1~40,控制二維碼尺寸
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10, # 二維碼盒子的大小,單位為像素
border=4, # 邊框大小
)
qr.add_data(text)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white") # 設置二維碼顏色,默認為黑白
img.save('advanced_usage.jpg')
img.get_image()
