python + qrcode 生成二維碼

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

 

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 圖標的二維碼;url

 

 

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()

 

                                      

相關文章
相關標籤/搜索