python二維碼操作:對QRCode和MyQR入門詳解
python是所有編程語言中模塊最豐富的
生活中常見的二維碼功能在使用python第三方庫來生成十分容易
三個大矩形是定位圖案,用于標(biāo)記二維碼的大小。這三個定位圖案有白邊,通過這三個矩形就可以標(biāo)識一個二維碼了。
QRCode 生成這個二維碼只用一行
import qrcode qrcode.make("不睡覺干嘛呢").get_image().show() #設(shè)置URL必須添加http://
安裝導(dǎo)入QRCode
pip install qrcode #方法多,體量小
安裝導(dǎo)入MyQR
pip install myqr #操作簡單,功能強大
QRCode 多種自定義方法
import qrcode text = input("輸入文字或URL:") img =qrcode.make(text) img.save() #保存圖片至本地目錄,可以設(shè)定路徑 img.show()
生成添加logo的二維碼
from PIL import Image import qrcode,os def create_qrcode(url,qrcodename): qr = qrcode.QRCode( version=1, # 設(shè)置容錯率為最高 error_correction=qrcode.ERROR_CORRECT_H, # 用于控制二維碼的錯誤糾正程度 box_size=8, # 控制二維碼中每個格子的像素數(shù),默認(rèn)為10 border=1, # 二維碼四周留白,包含的格子數(shù),默認(rèn)為4 #image_factory=None, 保存在模塊根目錄的image文件夾下 #mask_pattern=None ) qr.add_data(url) # QRCode.add_data(data)函數(shù)添加數(shù)據(jù) qr.make(fit=True) # QRCode.make(fit=True)函數(shù)生成圖片 img = qr.make_image() img = img.convert("RGBA") # 二維碼設(shè)為彩色 logo = Image.open('xx.jpg') # 傳gif生成的二維碼也是沒有動態(tài)效果的 w , h = img.size logo_w , logo_h = logo.size factor = 4 # 默認(rèn)logo最大設(shè)為圖片的四分之一 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 生成動態(tài)二維碼
from MyQR import myqr import os
myqr.run( words='Hello world', #在命令后輸入鏈接或者句子作為參數(shù),然后在程序的當(dāng)前目錄中產(chǎn)生相應(yīng)的二維碼圖片文件,默認(rèn)命名為” qrcode.png“ version=1, #設(shè)置容錯率為最高默認(rèn)邊長是取決于你輸入的信息的長度和使用的糾錯等級;而默認(rèn)糾錯等級是最高級的H level='H', #控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高 picture='WChat.png', #用來將QR二維碼圖像與一張同目錄下的圖片相結(jié)合,產(chǎn)生一張黑白圖片 colorized=True, #可以使產(chǎn)生的圖片由黑白(False)變?yōu)椴噬?True)的 contrast=1.0, #用以調(diào)節(jié)圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認(rèn)為1.0。 brightness=1.0, #用來調(diào)節(jié)圖片的亮度,其余用法和取值與 -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 默認(rèn)輸出文件名是“ qrcode.png ",而默認(rèn)存儲位置是當(dāng)前目錄 save_name: str, the output filename like 'example.png' save_dir: str, the output directory
參考資料
以上內(nèi)容主要參考官方文檔
這篇python二維碼操作:對QRCode和MyQR入門詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python爬蟲爬取一個網(wǎng)頁上的圖片地址實例代碼
這篇文章主要介紹了Python爬蟲爬取一個網(wǎng)頁上的圖片地址實例代碼,具有一定借鑒價值,需要的朋友可以參考下2018-01-01Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)學(xué)算法詳解
這篇文章主要介紹了Python二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)學(xué)算法,同時在這里也給大家分享一個好用的內(nèi)置函數(shù)map(),需要的朋友可以參考下2023-01-01Python xml、字典、json、類四種數(shù)據(jù)類型如何實現(xiàn)互相轉(zhuǎn)換
這篇文章主要介紹了Python xml、字典、json、類四種數(shù)據(jù)類型如何實現(xiàn)互相轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05Python 基于jwt實現(xiàn)認(rèn)證機制流程解析
這篇文章主要介紹了python 基于jwt實現(xiàn)認(rèn)證機制流程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06Python之a(chǎn)scii轉(zhuǎn)中文的實現(xiàn)
這篇文章主要介紹了Python之a(chǎn)scii轉(zhuǎn)中文的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn)
這篇文章主要介紹了Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Python實現(xiàn)PDF文字識別提取并寫入CSV文件
這篇文章主要是和大家分享一個Python實現(xiàn)PDF文字識別與提取并寫入?CSV文件的腳本。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-03-03