python 生成二維碼

一、生成普通二維碼

簡單用法

import qrcode 
img = qrcode.make('hello, qrcode')
img.save('test.png')

高級用法

import qrcode 
qr = qrcode.QRCode(     
    version=1,     
    error_correction=qrcode.constants.ERROR_CORRECT_L,     
    box_size=10,     
    border=4, 
) 
qr.add_data('hello, qrcode') 
qr.make(fit=True)  
img = qr.make_image()
img.save('123.png')

二、生成帶logo二維碼

import qrcode
from PIL import Image

def create_qrcode(url, filename):  
    qr = qrcode.QRCode(  
        version=1,  
        #設置容錯率為最高  
        error_correction=qrcode.ERROR_CORRECT_H,  
        box_size=10,  
        border=1,  
    )  
    qr.add_data(url)  
    qr.make(fit=True)  
  
    img = qr.make_image()  
    #設置二維碼為彩色  
    img = img.convert("RGBA")  
    icon = Image.open('D:/python/logo.png')  
    w, h = img.size  
    factor = 4  
    size_w = int(w / factor)  
    size_h = int(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((w - icon_w) / 2)  
    h = int((h - icon_h) / 2)  
    icon = icon.convert("RGBA")  
    newimg = Image.new("RGBA", (icon_w + 8, icon_h + 8), (255, 255, 255))  
    img.paste(newimg, (w-4, h-4), newimg)  
  
    img.paste(icon, (w, h), icon)  
    img.save('D:/python/' + filename + '.png', quality=100)
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容