使用Python生成自己的特色二維碼


二維碼又稱二維條碼,常見的二維碼為QR Code,QR全稱Quick Response,是一個近幾年來移動設備上超流行的一種編碼方式,它比傳統的Bar Code條形碼能存更多的信息,也能表示更多的數據類型。

如果我們在進行內容分享的時候,直接發給對方一個二維碼或者在自己網站上展示二維碼,是不是顯得比較有逼格。下面我們就教大家怎么使用Python生成二維碼並在網站上進行展示。

我是二維碼

安裝庫
pip install qrcode
pip install myqr

qrcode庫使用

def gen_qrcode(text):
    # 創建qrcode對象
    qr = qrcode.QRCode(
        version=2,
        error_correction=qrcode.constants.ERROR_CORRECT_Q,
        box_size=10,
        border=2,
    )

    qr.add_data(text)

    # 創建二維碼圖片
    img = qr.make_image()

    # 圖片轉換為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

參數含義:
version:值為1~40的整數,控制二維碼的大小(最小值是1,是個12×12的矩陣)
error_correction:控制二維碼的錯誤糾正功能。可取值下列4個常量。
  ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。
  ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。
  ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。
box_size:控制二維碼中每個小格子包含的像素數。
border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(默認為4,是相關標准規定的最小值)

myqr庫使用

from MyQR import myqr
myqr.run(
    words='http://www.baidu.com', # words中填寫鏈接或者文本內容
    version=1,  # 控制二維碼大小 1~40,建議不要超過5,否則生成時間太長
    level='H',  # 控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高
    picture='background.gif',  # 背景圖片,格式可以是.jpg, .png, .bmp, .gif
    colorized=True,  # 可以使產生的圖片由黑白(False)變為彩色(True)的
    contrast=1.0,  # 用以調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0。
    brightness=1.0,  # 用來調節圖片的亮度
)

在Django網站上使用

具體代碼請關注微信公眾號:Python爬蟲實戰之路,發送:qrcode,可以獲取GitHub地址

如果你覺得我的文章還可以,可以關注我的微信公眾號,查看更多實戰文章:Python爬蟲實戰之路
也可以掃描下面二維碼,添加我的微信公眾號

公眾號


免責聲明!

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



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