您好,登錄后才能下訂單哦!
怎么用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)建了可以鏈接到之前文章的二維碼,如下所示:
通過微信掃一掃,就可以鏈接到之前的文章:
使用到的具體參數(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ù)生成二維碼的示例:
普通二維碼
帶圖片的藝術(shù)二維碼
動(dòng)態(tài)二維碼
看完上述內(nèi)容,你們掌握怎么用Python代碼生成自定義二維碼的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(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)容。