python + qrcode 生成二維碼


第一種: 生成純文本的二維碼;

 

import qrcode  # 這里使用的python的庫 qrcode 當然qrcode 是依賴pillow庫的, 所以第一步當然是安裝相關的模塊  pip install qrcode

def make_code():
    """
    ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。
    ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。
    ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。
    """

    url = 'https://www.luffycity.com'

    qr = qrcode.QRCode(
        version=None,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=2,
    )

    qr.add_data(url)
    qr.make(fit=True)
    img = qr.make_image()
    img.save('二維碼.png')


make_code()

第二種, 生成帶有logo 圖標的二維碼;

 

 

from PIL import Image
import qrcode


def make_code():
    url = 'https://www.luffycity.com'
    qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=4)
    qr.add_data(url)
    qr.make(fit=True)

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

    icon = Image.open("logo.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)
    icon = icon.convert("RGBA")
    img.paste(icon, (w, h), icon)
    # img.show()
    img.save('logo-qrcode.png')


make_code()

 

                                      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM