分享Python文本產生二維碼執行個體

來源:互聯網
上載者:User
本文執行個體分享了Python文本產生二維碼的詳細代碼,供大家參考,具體內容如下

測試一:將文本產生白底黑字的二維碼圖片
測試二:將文本產生帶logo的二維碼圖片

#coding:utf-8'''Python產生二維碼 v1.0主要將文本產生二維碼圖片 測試一:將文本產生白底黑字的二維碼圖片測試二:將文本產生帶logo的二維碼圖片 ''' __author__ = 'Xue' import qrcodefrom PIL import Imageimport os #產生二維碼圖片def make_qr(str,save): qr=qrcode.QRCode(  version=4, #產生二維碼尺寸的大小 1-40 1:21*21(21+(n-1)*4)  error_correction=qrcode.constants.ERROR_CORRECT_M, #L:7% M:15% Q:25% H:30%  box_size=10, #每個格子的像素大小  border=2, #邊框的格子寬度大小 ) qr.add_data(str) qr.make(fit=True)  img=qr.make_image() img.save(save)  #產生帶logo的二維碼圖片def make_logo_qr(str,logo,save): #參數配置 qr=qrcode.QRCode(  version=4,  error_correction=qrcode.constants.ERROR_CORRECT_Q,  box_size=8,  border=2 ) #添加轉換內容 qr.add_data(str) # qr.make(fit=True) #產生二維碼 img=qr.make_image() # img=img.convert("RGBA")  #添加logo if logo and os.path.exists(logo):  icon=Image.open(logo)  #擷取二維碼圖片的大小  img_w,img_h=img.size   factor=4  size_w=int(img_w/factor)  size_h=int(img_h/factor)   #logo圖片的大小不能超過二維碼圖片的1/4  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)    #計算logo在二維碼圖中的位置  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.save(save)  if __name__=='__main__': save_path='theqrcode.png' #產生後的儲存檔案 logo='logo.jpg' #logo圖片  str=raw_input('請輸入要產生二維碼的常值內容:')  #make_qr(str)  make_logo_qr(str,logo,save_path)

那Python使用QRCode模組如何產生二維碼?

1、簡介
python-qrcode是個用來產生二維碼圖片的第三方模組,依賴於 PIL 模組和 qrcode 庫。
2、簡單用法

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

3、進階用法

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

4、參數含義:

version:值為1~40的整數,控制二維碼的大小(最小值是1,是個12×12的矩陣)。 如果想讓程式自動確定,將值設定為 None 並使用 fit 參數即可。

error_correction:控制二維碼的錯誤校正功能。可取值下列4個常量。
ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。
ERROR_CORRECT_M(預設):大約15%或更少的錯誤能被糾正。
ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。

box_size:控制二維碼中每個小格子包含的像素數。

border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(預設為4,是相關標準規定的最小值)

希望本文所述對大家學習Python程式設計有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.