中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python二維碼操作:對QRCode和MyQR入門詳解

發布時間:2020-09-13 04:32:03 來源:腳本之家 閱讀:343 作者:不夜貓 欄目:開發技術

python是所有編程語言中模塊最豐富的

生活中常見的二維碼功能在使用python第三方庫來生成十分容易

python二維碼操作:對QRCode和MyQR入門詳解

三個大矩形是定位圖案,用于標記二維碼的大小。這三個定位圖案有白邊,通過這三個矩形就可以標識一個二維碼了。

QRCode 生成這個二維碼只用一行

import qrcode
 
qrcode.make("不睡覺干嘛呢").get_image().show()  #設置URL必須添加http://

安裝導入QRCode

pip install qrcode #方法多,體量小

安裝導入MyQR

pip install myqr  #操作簡單,功能強大

QRCode 多種自定義方法

import qrcode
 
text = input("輸入文字或URL:")
img =qrcode.make(text)
img.save()              #保存圖片至本地目錄,可以設定路徑
img.show()  

生成添加logo的二維碼

from PIL import Image
import qrcode,os
 
def create_qrcode(url,qrcodename):
  qr = qrcode.QRCode(
    version=1, # 設置容錯率為最高
    error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二維碼的錯誤糾正程度
    box_size=8, # 控制二維碼中每個格子的像素數,默認為10
    border=1, # 二維碼四周留白,包含的格子數,默認為4
    #image_factory=None, 保存在模塊根目錄的image文件夾下
    #mask_pattern=None
  )
 
  qr.add_data(url) # QRCode.add_data(data)函數添加數據
  qr.make(fit=True) # QRCode.make(fit=True)函數生成圖片
 
  img = qr.make_image()
  img = img.convert("RGBA") # 二維碼設為彩色
  logo = Image.open('xx.jpg') # 傳gif生成的二維碼也是沒有動態效果的
 
  w , h = img.size
  logo_w , logo_h = logo.size
  factor = 4  # 默認logo最大設為圖片的四分之一
  s_w = int(w / factor)
  s_h = int(h / factor)
  if logo_w > s_w or logo_h > s_h:
    logo_w = s_w
    logo_h = s_h
 
  logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
  l_w = int((w - logo_w) / 2)
  l_h = int((h - logo_h) / 2)
  logo = logo.convert("RGBA")
  img.paste(logo, (l_w, l_h), logo)
  img.show()
  img.save(os.getcwd()+'/' + qrcodename + '.png', quality=100)

MyQR 生成動態二維碼

from MyQR import myqr
import os
myqr.run(
  words='Hello world',     #在命令后輸入鏈接或者句子作為參數,然后在程序的當前目錄中產生相應的二維碼圖片文件,默認命名為” qrcode.png“
  version=1,          #設置容錯率為最高默認邊長是取決于你輸入的信息的長度和使用的糾錯等級;而默認糾錯等級是最高級的H
  level='H',          #控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高
  picture='WChat.png',     #用來將QR二維碼圖像與一張同目錄下的圖片相結合,產生一張黑白圖片
  colorized=True,       #可以使產生的圖片由黑白(False)變為彩色(True)的
  contrast=1.0,        #用以調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0。
  brightness=1.0,       #用來調節圖片的亮度,其余用法和取值與 -con 相同
  save_name='test.png',    #控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ;
  save_dir=os.getcwd()     #控制位置。
)
Positional parameter
  words: str
Optional parameters
  version: int, from 1 to 40
  level: str, just one of ('L','M','Q','H')
  picutre: str, a filename of a image
  colorized: bool
  constrast: float
  brightness: float
  默認輸出文件名是“ qrcode.png ",而默認存儲位置是當前目錄
  save_name: str, the output filename like 'example.png'
  save_dir: str, the output directory

參考資料

以上內容主要參考官方文檔

這篇python二維碼操作:對QRCode和MyQR入門詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥中县| 淅川县| 宁蒗| 城口县| 郧西县| 二连浩特市| 临泽县| 加查县| 罗定市| 昌平区| 老河口市| 福州市| 安宁市| 邵阳县| 兴海县| 金门县| 得荣县| 柯坪县| 交城县| 句容市| 泰和县| 广饶县| 嘉兴市| 信丰县| 双辽市| 平山县| 太保市| 宁武县| 左权县| 姚安县| 海丰县| 邵武市| 盐池县| 唐河县| 穆棱市| 民勤县| 凤台县| 南和县| 六安市| 盈江县| 太保市|