亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

分享Python文本生成二維碼實(shí)例

 更新時(shí)間:2016年01月06日 08:58:58   作者:酷小孩  
這篇文章主要介紹了Python文本生成二維碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例分享了Python文本生成二維碼的詳細(xì)代碼,供大家參考,具體內(nèi)容如下

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

#coding:utf-8
'''
Python生成二維碼 v1.0
主要將文本生成二維碼圖片
 
測試一:將文本生成白底黑字的二維碼圖片
測試二:將文本生成帶logo的二維碼圖片
 
'''
 
__author__ = 'Xue'
 
import qrcode
from PIL import Image
import 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, #每個(gè)格子的像素大小
  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):
 #參數(shù)配置
 qr=qrcode.QRCode(
  version=4,
  error_correction=qrcode.constants.ERROR_CORRECT_Q,
  box_size=8,
  border=2
 )
 #添加轉(zhuǎn)換內(nèi)容
 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)
  
  #計(jì)算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('請(qǐng)輸入要生成二維碼的文本內(nèi)容:')
 
 #make_qr(str)
 
 make_logo_qr(str,logo,save_path)

那Python使用QRCode模塊如何生成二維碼?

1、簡介
python-qrcode是個(gè)用來生成二維碼圖片的第三方模塊,依賴于 PIL 模塊和 qrcode 庫。
2、簡單用法

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

3、高級(jí)用法

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、參數(shù)含義:

version:值為1~40的整數(shù),控制二維碼的大?。ㄗ钚≈凳?,是個(gè)12×12的矩陣)。 如果想讓程序自動(dòng)確定,將值設(shè)置為 None 并使用 fit 參數(shù)即可。

error_correction:控制二維碼的錯(cuò)誤糾正功能??扇≈迪铝?個(gè)常量。
ERROR_CORRECT_L:大約7%或更少的錯(cuò)誤能被糾正。
ERROR_CORRECT_M(默認(rèn)):大約15%或更少的錯(cuò)誤能被糾正。
ROR_CORRECT_H:大約30%或更少的錯(cuò)誤能被糾正。

box_size:控制二維碼中每個(gè)小格子包含的像素?cái)?shù)。

border:控制邊框(二維碼與圖片邊界的距離)包含的格子數(shù)(默認(rèn)為4,是相關(guān)標(biāo)準(zhǔn)規(guī)定的最小值)

希望本文所述對(duì)大家學(xué)習(xí)Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論