溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python代碼如何生成自定義二維碼

發(fā)布時(shí)間:2021-10-19 09:28:39 來源:億速云 閱讀:135 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹Python代碼如何生成自定義二維碼,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

隨處可見的二維碼是怎么生成的?自己做一個(gè)試試吧。


隨著互聯(lián)網(wǎng)和智能移動(dòng)設(shè)備不斷普及,二維碼(Quick Response code)已經(jīng)成為世界上應(yīng)用最為廣泛的信息載體之一。生成二維碼的工具也層出不窮,但多數(shù)需要在線完成,并且生成的圖案也千篇一律,過于單調(diào)。

那么有沒有辦法實(shí)現(xiàn)自定義生成二維碼呢?

近日,一位熱衷于終身學(xué)習(xí)的工程師兼攝影師 Arindom Bhattacharjee 撰寫了一篇自定義生成二維碼的方法,并且整個(gè)生成過程只需要 5 行 Python 代碼即可完成。感興趣的讀者可以自己實(shí)現(xiàn)下。

5 行 Python 代碼自定義生成二維碼


二維碼(QR Code)由白色背景上的黑色網(wǎng)格方塊組成。由于它能存儲(chǔ)更多信息,并且具有快速可讀性,因此比條形碼更受歡迎。

Python 提供了一個(gè)可以輕松實(shí)現(xiàn)這樣的功能的 qrcode 包,首先就從下載 Python 包開始:

pip install pillowpip install qrcode

然后創(chuàng)建一個(gè)存儲(chǔ)之前文章頁面鏈接(https://towardsdatascience.com/face-detection-in-10-lines-for-beginners-1787aa1d9127)的二維碼,來看下實(shí)現(xiàn)過程有多簡(jiǎn)單:

import qrcode
# Link for websiteinput_data = "https://towardsdatascience.com/face-detection-in-10-lines-for-beginners-1787aa1d9127"
#Creating an instance of qrcodeqr = qrcode.QRCode(        version=1,        box_size=10,        border=5)
qr.add_data(input_data)qr.make(fit=True)
img = qr.make_image(fill='black', back_color='white')img.save('qrcode001.png')

這樣,只需要簡(jiǎn)單的幾步,就創(chuàng)建了可以鏈接到之前文章的二維碼,如下所示:

Python代碼如何生成自定義二維碼


通過微信掃一掃,就可以鏈接到之前的文章:

Python代碼如何生成自定義二維碼


使用到的具體參數(shù)

在具體的實(shí)現(xiàn)過程中,以上代碼中的 QRCode 函數(shù)需要以下參數(shù):

  • version:定義了生成二維碼的尺寸,它的取值范圍是 1 到 40 的整數(shù)。該參數(shù)的值越大,生成的二維碼圖像就越大;

  • box_size:定義了每個(gè)像素塊的大??;

  • border:定義了邊框的厚度。比如,當(dāng)它的值是 5,就意味著邊框的厚度相當(dāng)于 5 個(gè)小像素塊;

add_data 方法用來傳入輸入文本,在本示例中即為之前文章的超鏈接。make(fit=True) 函數(shù)確保整個(gè)二維碼都被用到,即使輸入數(shù)據(jù)能用更少的像素塊存儲(chǔ)也是如此。

最后一步是將其轉(zhuǎn)換為圖像文件并存儲(chǔ)。make_image 函數(shù)可以用來指定圖像中的前景色和背景色。在此二維碼中分別用了黑色和白色,但也可以根據(jù)個(gè)人喜好改變顏色。save 函數(shù)將圖像存儲(chǔ)為當(dāng)前目錄下的. png 文件。

生成二維碼的 Python 庫:qrcode

本文作者 5 行代碼生成二維碼的過程中基于了 qrcode 庫,該庫于在 2016 年 11 月由 GitHub 用戶 sylnsfar 推出,目前已有 7.4k 的 star 量和 1.2k 的 fork 量。

GitHub 地址:https://github.com/sylnsfar/qrcode

該庫在 Python 3 版本上運(yùn)行,并且可以生成多種類型的二維碼,如普通二維碼、帶圖片的藝術(shù)二維碼(黑白與彩色)和動(dòng)態(tài)二維碼(黑白與彩色)。它比較適合直接用于生成二維碼圖片的場(chǎng)景。

我們這里只看一下該庫生成二維碼的示例:

Python代碼如何生成自定義二維碼

普通二維碼

Python代碼如何生成自定義二維碼

帶圖片的藝術(shù)二維碼

Python代碼如何生成自定義二維碼

動(dòng)態(tài)二維碼  




關(guān)于Python代碼如何生成自定義二維碼就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI