日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python之qrcode模块生成二维码

發布時間:2024/3/12 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python之qrcode模块生成二维码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用Python的qrcode包來生成二維碼很簡單

一、前期準備:

  • pip install qrcode

qrcode 依賴 Image 這個包:

  • pip install Image

二、安裝好之后就可以通過代碼實現二維碼了

- 1. 簡單生成二維碼:

import qrcode //模塊導入//調用qrcode的make()方法傳入url或者想要展示的內容 img = qrcode.make('http://www.baidu.com')//寫入文件 with open('test.png', 'wb') as f:img.save(f)

生成的二維碼:

text.png

import qrcode //模塊導入//調用qrcode的make()方法傳入url或者想要展示的內容 img = qrcode.make('歡迎來到我的簡書')//保存 img.save("text.png")

生成的二維碼:

?

text.png

此處并沒有使用add_data()添加數據,make_image()生成二維碼,而是使用qrcode.make(data)的方式獲取im對象。qrcode.make()是qrcode提供簡單調用接口。

- 2. 正常生成二維碼的步驟:

  • 創建QRCode對象
  • add_data()添加數據
  • make_image()創建二維碼(返回im類型的圖片對象)
  • 自動打開圖片,im.show()
  • - 3. QRCode參數詳細說明:

    • version: 一個整數,范圍為1到40,表示二維碼的大小(最小值是1,是個12×12的矩陣),如果想讓程序自動生成,將值設置為 None 并使用 fit=True 參數即可。
    • error_correction: 二維碼的糾錯范圍,可以選擇4個常量:
      ··1. ERROR_CORRECT_L 7%以下的錯誤會被糾正
      ··2. ERROR_CORRECT_M (default) 15%以下的錯誤會被糾正
      ··3. ERROR_CORRECT_Q 25 %以下的錯誤會被糾正
      ··4. ERROR_CORRECT_H. 30%以下的錯誤會被糾正
    • boxsize: 每個點(方塊)中的像素個數
    • border: 二維碼距圖像外圍邊框距離,默認為4,而且相關規定最小為4

    4. 參數配置后生成自定制二維碼

    import qrcodedata = 'http://www.baidu.com/' img_file = r'保存路徑'# 實例化QRCode生成qr對象 qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=4 ) # 傳入數據 qr.add_data(data)qr.make(fit=True)# 生成二維碼 img = qr.make_image()# 保存二維碼 img.save(img_file) # 展示二維碼 img.show()

    三、額外添加

    往往我們看到的二維碼中間都有一張圖片或者用戶頭像,如何才能生成這樣一張二維碼?

    利用PIL庫中image模塊的paste函數
    img.paste(path,where,mask=None)
    其中,img為image對象;path為所添加圖片;where為tuple,如:(x,y),表示圖片所在二維碼的橫縱坐標

    import qrcode from PIL import Image import matplotlib.pyplot as pltdef getQRcode(data, file_name):qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=5,border=4,)# 添加數據qr.add_data(data)# 填充數據qr.make(fit=True)# 生成圖片img = qr.make_image(fill_color="green", back_color="white")# 添加logo,打開logo照片icon = Image.open("1.jpg")# 獲取圖片的寬高img_w, img_h = img.size# 參數設置logo的大小factor = 6size_w = int(img_w / factor)size_h = int(img_h / factor)icon_w, icon_h = icon.sizeif icon_w > size_w:icon_w = size_wif icon_h > size_h:icon_h = size_h# 重新設置logo的尺寸icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)# 得到畫圖的x,y坐標,居中顯示w = int((img_w - icon_w) / 2)h = int((img_h - icon_h) / 2)# 黏貼logo照img.paste(icon, (w, h), mask=None)# 終端顯示圖片plt.imshow(img)plt.show()# 保存imgimg.save(file_name)return imgif __name__ == '__main__':getQRcode("世情薄,人情惡,雨送黃昏花易落。曉風干,淚痕殘,欲箋心事,獨語斜闌。""難,難,難!人成各,今非昨,病魂常似秋千索。角聲寒,夜闌珊,怕人尋問,咽淚裝歡。瞞,瞞,瞞!", 'my.png')

    最后,送你一首宋詞,掃碼免費得!!!

    my.png



    ?

    總結

    以上是生活随笔為你收集整理的python之qrcode模块生成二维码的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。