溫馨提示×

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

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

怎么用Python代碼生成自定義二維碼

發(fā)布時(shí)間:2021-12-02 17:51:54 來源:億速云 閱讀:203 作者:柒染 欄目:大數(shù)據(jù)

怎么用Python代碼生成自定義二維碼,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

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

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

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

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

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

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

pip install pillow
pip install qrcode
 

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

import qrcode

# Link for website
input_data = "https://towardsdatascience.com/face-detection-in-10-lines-for-beginners-1787aa1d9127"


#Creating an instance of qrcode

qr = 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 庫(kù):qrcode

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

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

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

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

普通二維碼

怎么用Python代碼生成自定義二維碼  

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

怎么用Python代碼生成自定義二維碼  

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

怎么用Python代碼生成自定義二維碼    

看完上述內(nèi)容,你們掌握怎么用Python代碼生成自定義二維碼的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向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