本文主要介紹兩個可用於生成二維碼的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()