如今,二維碼在我們生活中是無(wú)處不在的,付錢(qián)需要掃二維碼付款、坐公交地鐵等也可以刷二維碼、網(wǎng)絡(luò)登錄也可以掃二維碼登錄等等。但二維碼整體上都是大同小異的,略顯單調(diào),本文將 Python MyQR 庫(kù)的使用進(jìn)行一個(gè)簡(jiǎn)單的介紹,利用 Python 生成動(dòng)態(tài)彩色二維碼。
一、前言
常見(jiàn)的二維碼為 ?QR CodeCode
? , QR 全稱 ?Quick Response
?,是一個(gè)近幾年來(lái)移動(dòng)設(shè)備上最流行的一種編碼方式,它的結(jié)構(gòu)如下:
主要有以下特點(diǎn):
1、符號(hào)規(guī)格從版本 1 ?21x21
?到版本 40 177x177
?,每提高一個(gè)版本,每邊將會(huì)增加4個(gè)碼元(即構(gòu)成 ?QR
? 碼的方形黑白點(diǎn))
2、信息容量大,能夠存儲(chǔ)7089個(gè)數(shù)字字符或4296個(gè)字母字符或2953個(gè)8位字節(jié)字符或1817漢字字符。
3、糾錯(cuò)能力強(qiáng),即使部分編碼變臟或是破損了,也可以恢復(fù)數(shù)據(jù)。 L 級(jí)約可糾錯(cuò) 7% 的數(shù)據(jù)碼字, M 級(jí)約可糾錯(cuò) 15% 的數(shù)據(jù)碼字, Q 級(jí)約可糾錯(cuò)25%的數(shù)據(jù)碼字, H 級(jí)約可糾錯(cuò) 30% 的數(shù)據(jù)碼字
4、可以從任意方向讀取, QR 碼可以從360°任意方向均可快速讀取。通過(guò)QR碼中的三處定位圖案,可以幫助QR碼不受背景樣式的影響,實(shí)現(xiàn)快速穩(wěn)定的讀取。
二、MyQR
在?Python
?中? MyQR
? 是一個(gè)有趣又好玩的庫(kù),可以用來(lái)制作各種彩色的、漂亮的、有趣的二維碼。?MyQR
?可以生成常見(jiàn)的二維碼、藝術(shù)二維碼、動(dòng)態(tài)二維碼等等。
1、展示效果圖:
2、實(shí)現(xiàn)步驟
2.1 安裝? MyQR
? 庫(kù)
pip install MyQR -i http://pypi.douban.com/simple --trusted-hostpypi.douban.com
2.2 引入 ?MyQR
?庫(kù),生成二維碼
from MyQR import myqr
import os
version,level,qr_name = myqr .run(
words="https://www.baidu.com", #可以是字符串,也可以是網(wǎng)址(前面要加http(s)://)
version=1, #設(shè)置容錯(cuò)率為最高
level="H', #控制糾錯(cuò)水平,范圍是L、M、Q、H,從左到右依次升高
picture-"123.gif", #符二維碼和圖片合成
colorized=True, #彩色二維碼
contrast=1.0, #用以調(diào)節(jié)圖片的對(duì)比度,1.8表示原始圖片,更小的值表示更低對(duì)
brightness=1.0, #用來(lái)調(diào)節(jié)圖片的亮度,其余用法和取值同上
save_name="3.gif"", #保存文件的名字,格式可以是jpg , png , bmp , gif
save_dir=os.getcwd() #控制位置
)
三、總結(jié)
Python MyQR 庫(kù)的使用簡(jiǎn)單,美中不足就是不支持中文,它只支持以下字符:
- 數(shù)字0 - 9
- 大小寫(xiě)的英文字母
- 常用的英文標(biāo)點(diǎn)符號(hào)和空格
通過(guò)本文對(duì)于使用 Python 生成動(dòng)態(tài)彩色二維碼的學(xué)習(xí),就可以生成一個(gè)具有個(gè)性化、漂亮有趣的二維碼了。
想要了解更多關(guān)于Python好玩有趣的內(nèi)容,請(qǐng)關(guān)注 w3cschool 或 編程獅APP。