「筆記」Python生成二維碼

本文的實驗環(huán)境是 Python 3.6.1 |Anaconda 4.4.0 (64-bit),Win10

普通二維碼

from PIL import Image
import qrcode

qr = qrcode.QRCode(
    version=2,  # 控制二維碼的尺寸,此處為 25*25
    error_correction=qrcode.constants.ERROR_CORRECT_H,  # 控制二維碼的錯誤糾正功能,此處為大約30%或更少的錯誤能被糾正
    box_size=10,  # 控制二維碼中每個小格子包含的像素數(shù)
    border=1)  # 控制邊框(二維碼與圖片邊界的距離)

qr.add_data("http://www.itdecent.cn/u/02877dbc2662")  # 設(shè)置二維碼中包含的數(shù)據(jù)
qr.make(fit=True)  # 二維碼大小自適應(yīng)

img = qr.make_image()
img.save("qrcode.png")

中間含圖片的二維碼

from PIL import Image
import qrcode

qr = qrcode.QRCode(
    version=2,  # 控制二維碼的尺寸,此處為 25*25
    error_correction=qrcode.constants.ERROR_CORRECT_H,  # 控制二維碼的錯誤糾正功能,此處為大約30%或更少的錯誤能被糾正
    box_size=10,  # 控制二維碼中每個小格子包含的像素數(shù)
    border=1)  # 控制邊框(二維碼與圖片邊界的距離)

qr.add_data("http://www.itdecent.cn/u/02877dbc2662")  # 設(shè)置二維碼中包含的數(shù)據(jù)
qr.make(fit=True)  # 二維碼大小自適應(yīng)

img = qr.make_image()
img = img.convert("RGBA")

icon = Image.open("748.png") #用于填充的圖片 

img_w, img_h = img.size
factor = 4
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
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)

w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
img.paste(icon, (w, h), icon)

img.save("filled_qrcode.png")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容