您好,登錄后才能下訂單哦!
這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)Python中怎么生成自己的特色二維碼,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
def gen_qrcode(text):
# 創(chuàng)建qrcode對象
qr = qrcode.QRCode(
version=2,
error_correction=qrcode.constants.ERROR_CORRECT_Q,
box_size=10,
border=2,
)
qr.add_data(text)
# 創(chuàng)建二維碼圖片
img = qr.make_image()
# 圖片轉(zhuǎn)換為RGBA格式
img = img.convert('RGBA')
# 返回二維碼圖片的大小
img_w, img_h = img.size
# 打開logo
logo = Image.open(os.path.join(BASE_DIR, 'static/images/logo.jpeg'))
# logo大小為二維碼的四分之一
logo_w = img_w // 4
logo_h = img_w // 4
# 修改logo圖片大小
logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
# 把logo放置在二維碼中間
w = (img_w - logo_w) // 2
h = (img_h - logo_h) // 2
img.paste(logo, (w, h))
qr_path = 'static/imgcard/%s.png' % time.time()
img.save(os.path.join(BASE_DIR, qr_path))
return qr_path
參數(shù)含義:
version:值為1~40的整數(shù),控制二維碼的大小(最小值是1,是個12×12的矩陣)
error_correction:控制二維碼的錯誤糾正功能??扇≈迪铝?個常量。
ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。
ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。
ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。
box_size:控制二維碼中每個小格子包含的像素數(shù)。
border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(shù)(默認為4,是相關(guān)標準規(guī)定的最小值)
from MyQR import myqr
myqr.run(
words='http://www.baidu.com', # words中填寫鏈接或者文本內(nèi)容
version=1, # 控制二維碼大小 1~40,建議不要超過5,否則生成時間太長
level='H', # 控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高
picture='background.gif', # 背景圖片,格式可以是.jpg, .png, .bmp, .gif
colorized=True, # 可以使產(chǎn)生的圖片由黑白(False)變?yōu)椴噬?True)的
contrast=1.0, # 用以調(diào)節(jié)圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0。
brightness=1.0, # 用來調(diào)節(jié)圖片的亮度
)
上述就是小編為大家分享的Python中怎么生成自己的特色二維碼了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。