色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

python 使用MyQR和qrcode來制作二維碼

瀏覽:5日期:2022-06-20 09:28:17
前言

  今天下午無聊,突發(fā)奇想想玩玩二維碼,于是就結(jié)合著上學(xué)期學(xué)的標(biāo)識技術(shù),用Python制作了一下二維碼。

一、二維碼

  二維碼( 2 − D i m e n s i o n a l (2-Dimensional(2−Dimensional B a r c o d e ) Barcode)Barcode),又稱二維條形碼。它是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形來記錄數(shù)據(jù)符號信息的;在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個與二進(jìn)制相對應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖象輸入設(shè)備或光電掃描設(shè)備自動識讀以實(shí)現(xiàn)信息自動處理。

  一維條形碼,就是我們?nèi)粘Kf的條形碼( B a r c o d ) (Barcod)(Barcod),常見于食品包裝上。它是將寬度不等的多個黑條和空白,按一定的編碼規(guī)則排列,用以表達(dá)一組信息的圖形標(biāo)識符。常見的一維條形碼是由黑條(簡稱條)和白條(簡稱空)排成平行線圖案。條形碼可以標(biāo)出物品的生產(chǎn)國、制造廠家、商品名稱、生產(chǎn)日期以及圖書分類號、郵件起止地點(diǎn)、類別、日期等信息。  通常一維條形碼所能表示的字符集不過10個數(shù)字、26個英文字母及一些特殊字符,條碼字符集最大所能表示的字符個數(shù)為128個ASCII字符,信息量非常有限。

  二維碼有其特定的字符集,每個字符占有一定的寬度,每種碼具有一定的校驗(yàn)功能,同時還具有對不同行的信息自動識別功能、及處理圖形旋轉(zhuǎn)變化等特點(diǎn)。  二維條形碼是在二維空間水平和豎直方向存儲信息的條形碼。它的優(yōu)點(diǎn)是信息容量大,譯碼可靠性高,糾錯能力強(qiáng),制作成本低,保密與防偽性能好。

目前,世界上應(yīng)用最多的二維條碼符號有Aztec Code、PDF147、QR Code等。

python 使用MyQR和qrcode來制作二維碼

常見的二維碼為QR CodeCode,QR全稱是Quick Response,是一個近幾年來移動設(shè)備上超流行的一種編碼方式。它的結(jié)構(gòu)如下:

python 使用MyQR和qrcode來制作二維碼

QR Code屬于矩陣式二維條碼,又稱棋盤式二維條碼。它是在一個矩形空間通過黑、白像素在矩陣中的不同分布進(jìn)行編碼。在矩陣相應(yīng)元素位置上,用點(diǎn)(方點(diǎn)、圓點(diǎn)或其他形狀)的出現(xiàn)表示二進(jìn)制“1”,點(diǎn)的不出現(xiàn)表示二進(jìn)制的“0”,點(diǎn)的排列組合確定了矩陣式二維條碼所代表的意義。主要有以下特點(diǎn):

符號規(guī)格從版本1(21×21)到版本40(177×177),每提高一個版本,每邊增加 4 個碼元(即指構(gòu)成 QR 碼的方形黑白點(diǎn)); 信息容量大:能存儲 7089 個數(shù)字字符或 4296 個字母字符或 2953 個 8 位字節(jié)字符或 1817 漢字字符; 糾錯能力強(qiáng):即使部分編碼變臟或破損,也可以恢復(fù)數(shù)據(jù)。L級約可糾錯 7% 的數(shù)據(jù)碼字,M級約可糾錯 15% 的數(shù)據(jù)碼字,Q級約可糾錯25%的數(shù)據(jù)碼字,H級約可糾錯 30% 的數(shù)據(jù)碼字; 可以從任意方向讀取:QR碼可以從 360° 任一方向均可快速讀取。通過 QR 碼中的三處定位圖案,可以幫助 QR 碼不受背景樣式的影響,實(shí)現(xiàn)快速穩(wěn)定的讀取。 二、MyQR

MyQR可以生成常見的二維碼、藝術(shù)二維碼(黑白或彩色),動態(tài)二維碼(黑白或彩色),安裝命令如下:

pip install MyQR -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

python 使用MyQR和qrcode來制作二維碼

更多詳細(xì)內(nèi)容可以參考官方文檔:https://github.com/sylnsfar/qrcode

代碼如下

if __name__ == ’__main__’: version, level, qr_name = myqr.run(words=’https://blog.csdn.net/qq_42730750’,version=1,level=’H’,picture=’./XKD.gif’,colorized=True,contrast=1.0,brightness=1.0,save_name=’test4.gif’,save_dir=os.getcwd() ) print(version) print(level) print(qr_name)

  這是我生成的幾個二維碼:

python 使用MyQR和qrcode來制作二維碼

python 使用MyQR和qrcode來制作二維碼

MyQR確實(shí)是挺好用的,唯一的缺點(diǎn)就是,不支持中文!!!沒錯,是不是有點(diǎn)遺憾,它只支持以下字符:

數(shù)字 0 到 9 大小寫的英文字母 常用英文標(biāo)點(diǎn)符號和空格三、qrcode

qrcode的功能雖稍遜于MyQR,但是它支持中文字符,且能生成矢量圖,安裝命令如下:

pip install qrcode -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

python 使用MyQR和qrcode來制作二維碼

官方文檔 Github 網(wǎng)址:https://github.com/lincolnloop/python-qrcode

生成二維碼代碼如下:

def mergeImg(img1, img2, flag=True): ''' 合并圖像 :param img1: :param img2: :param flag: True 表示將logo居中, False 表示將logo作為背景圖 :return: ''' img1_w, img1_h = img1.size if flag:img2_w = int(img2.size[0] / 3)img2_h = int(img2.size[1] / 3)# 縮放logoimg2 = img2.resize(size=(img2_w, img2_h), resample=Image.ANTIALIAS)# 將logo居中顯示img1.paste(im=img2, box=(int((img1_w - img2_w) / 2), int((img1_h - img2_h) / 2)))img1.save(’./test8.png’) else:img2 = img2.resize(size=(img1_w, img1_h), resample=Image.ANTIALIAS)# 兩張圖片的size和mode要一致# 計(jì)算公式為out = image1 * (1.0 - alpha) + image2 * alpha# 這里的背景色就是一種干擾了, 如果將二維碼的透明度設(shè)置過高會識別不出來out_img = Image.blend(img1, img2, alpha=0.3)out_img.save(’./test9.png’)if __name__ == ’__main__’: qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=4, ) qr.add_data(’這是我的博客地址: https://blog.csdn.net/qq_42730750’) qr.make(fit=True) # black green purple orange pink white blue # make_image() 返回的是一個PilImage對象 # 可以使用pillow對它進(jìn)行圖像處理相關(guān)的操作 # img1 = qr.make_image(fill_color='#8A2BE2', back_color='white') img1 = qr.make_image(fill_color='orange', back_color='white').convert(’RGB’) # img1.show() # img1.save(’./test6.png’) img2 = Image.open(’./cutcamera.png’).convert(’RGB’) mergeImg(img1, img2, flag=True)

  這是我生成的幾個二維碼:

python 使用MyQR和qrcode來制作二維碼

注:文中生成的二維碼均綠色、健康,僅用作學(xué)習(xí)之用,可以放心掃。

以上就是python 使用MyQR和qrcode來制作二維碼的詳細(xì)內(nèi)容,更多關(guān)于python用MyQR和qrcode來制作二維碼的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产日韩一区二区三区在线观看 | 国产成 人 综合 亚洲绿色 | 综合 欧美 亚洲日本 | 国产成人免费高清视频 | 亚洲欧美日韩国产专区一区 | 欧美一级大片免费看 | 欧美一级毛片高清毛片 | 日本三级网站在线观看 | 欧美黄色一级在线 | 99国产精品高清一区二区二区 | 国产aⅴ一区二区三区 | 男女视频在线观看免费高清观看 | 久久九九免费 | 国产欧美日韩综合一区二区三区 | 成年人免费小视频 | 一区二区中文字幕在线观看 | 国产免费久久精品99re丫y | 综合自拍亚洲综合图区美腿丝袜 | 中国一级毛片录像 | 亚洲性欧美 | 欧美日韩在线观看一区 | 成人牲交一极毛片 | free性丰满白嫩白嫩的hd | 免费欧美黄色 | 自拍视频网 | 亚洲性天堂 | 久久91精品国产99久久yfo | 欧美综合在线视频 | 18在线网站| 亚洲欧洲日产国码一级毛片 | 中文字幕欧美一区 | 黄色影院在线观看视频 | 欧美一线视频 | 中文字幕精品一区二区2021年 | 欧美成人看片黄a免费看 | 欧美激情免费a视频 | 午夜一级毛片不卡 | 精品无码久久久久久国产 | 欧美老妇免费做爰视频 | 日韩欧美~中文字幕 | 国产精品视频久久久 |