久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

用 Python 生成炫酷二維碼及解析

 Python技術(shù) 2021-06-17

說到二維碼大家一定不陌生,,可以說現(xiàn)在二維碼幾乎滲透到了我們生活的各個角落,,舉例來說吧,我們到超市商場購物時掃描二維碼付款,,我們出行時乘坐公交地鐵掃描二維碼進(jìn)站,,我們到菜鳥驛站取件時掃描二維碼取件,如果哪天我們碰到一個有趣的人,,可能還會微信掃描二維碼加個好友,,如果你閱讀我們的文章感覺對自己有一點幫助,還可以掃描文末二維碼關(guān)注一下我們的公眾號,。

我們通過 Python 生成以及識別二維碼需要用到的庫為:qrcode,、myqr,、zxing,安裝通過 pip install qrcode/myqr/zxing 即可,。

二維碼結(jié)構(gòu)

首先,,我們來簡單了解一下二維碼的結(jié)構(gòu),如下圖所示:

從圖中我們可以看出二維碼結(jié)構(gòu)整體劃分為功能圖形和編碼區(qū)兩大部分,,功能圖形又細(xì)分為:空白區(qū),、位置探測圖形、位置探測圖形分隔符,、定位圖形,、校正圖形,而編碼區(qū)細(xì)分為:格式信息,、版本信息,、數(shù)據(jù)和糾錯碼字,來簡單了解一下每一部分的功能:

  • 空白區(qū):留白,,不需要做任何處理

  • 位置探測圖形:協(xié)助掃描軟件定位二維碼碼

  • 位置探測圖形分隔符:區(qū)分功能圖形和編碼區(qū)

  • 定位圖形:指示標(biāo)識密度和確定坐標(biāo)系

  • 校正圖形:校正圖形的數(shù)量和位置

  • 格式信息:存放格式化數(shù)據(jù)的信息

  • 版本信息:二維碼的規(guī)格,,二維碼符號共有 40 種規(guī)格的矩陣

  • 數(shù)據(jù)和糾錯碼字:實際保存的二維碼信息和糾錯碼字(用于修正二維碼損壞帶來的錯誤)

生成二維碼

創(chuàng)建二維碼我們可以使用  qrcode 和 myqr 兩個 Python 庫,下面來具體看一下,。

qrcode

生活我們可能會看到一些二維碼,,在我們掃描之后跳到了某個地址,這樣的功能 qrcode 就可以實現(xiàn),,來看一下示例:

import qrcode
# 二維碼內(nèi)容(鏈接地址或文字)data = 'https://www.baidu.com/'# 生成二維碼img = qrcode.make(data=data)# 顯示二維碼img.show()# 保存二維碼# img.save('qr.jpg')

看一下效果:

我們掃描上面這個二維碼就可以跳轉(zhuǎn)到我們設(shè)置的地址了,。

上面的二維碼比較原始,我們還可以對其進(jìn)行簡單的設(shè)置和美化,,代碼實現(xiàn)如下所示:

import qrcode
'''version:二維碼的格子矩陣大小,,可以是 1 到 40,1 最小為 21*21,,40 是 177*177error_correction:二維碼錯誤容許率,,默認(rèn) ERROR_CORRECT_M,容許小于 15% 的錯誤率box_size:二維碼每個小格子包含的像素數(shù)量border:二維碼到圖片邊框的小格子數(shù),,默認(rèn)值為 4'''qr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=15, border=3,)# 二維碼內(nèi)容data = 'https://www.baidu.com/'qr.add_data(data=data)# 啟用二維碼顏色設(shè)置qr.make(fit=True)img = qr.make_image(fill_color='blue', back_color='white')# 顯示二維碼img.show()

看一下效果:

myqr

如果我們對上面生成二維碼的樣式不滿意,,我們就需要用到 myqr 庫了,它不僅可以生成普通二維碼,,還可以生成帶圖片的二維碼以及動態(tài)二維碼,但我們想要查看生成的二維碼時,,需要到保存位置手動打開查看,。

普通二維碼

我們先使用 myqr 來生成一個普通二維碼,看一下示例:

from MyQR import myqr
'''words:內(nèi)容version:容錯率save_name:保存的名字'''myqr.run(words='https://www.baidu.com/', version=1, save_name='myqr.png')

看一下效果:

帶圖二維碼

我們接著使用 myqr 來生成一個帶圖的二維碼,,看一下示例:

from MyQR import myqr
'''picture:生成二維碼用到的圖片colorized:False 為黑白,,True 為彩色'''myqr.run(words='https://www.baidu.com/', version=1, picture='bg.jpg', colorized=True, save_name='pmyqr.png')

看一下效果:

動態(tài)二維碼

最后,,我們使用 myqr 來生成一個動態(tài)二維碼,看一下示例:

from MyQR import myqr
myqr.run(words='https://www.baidu.com/', version=1, picture='my.gif', colorized=True, save_name='myqr.gif')

看一下效果:

解析二維碼

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多