陳新龍
二維碼又稱二維條碼,是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的、黑白相間的、記錄數據符號信息的圖形。而不同種類的二維碼遵循的規律就是碼制,常用的碼制有:Data Matrix、Maxi Code、Aztec、QR Code、Vericode、PDF417、Ultracode、Code 49、Code 16K等。QR Code是一種移動設備上流行的二維碼編碼方式,它比傳統的條形碼能存更多的信息,也能表示更多的數據類型。
在日常生活中二維碼隨處可見,那么大家會不會好奇,二維碼是怎么制作的?二維碼會不會有一天被用完呢?我們是否自己也可以制作一個屬于我們自己的二維碼?在日常生活中我們最常見的就是黑白二維碼,當然不僅僅只存在黑白二維碼還有彩色二維碼和動態二維碼,今天我們可以用Python軟件自己獨立制作一個二維碼,一起來看看吧。
首先在Python環境中安裝第三方庫MYQR,這個庫是專門用來制作個性二維碼的,只需要簡簡單單兩三行代碼,就可以像變魔法一樣繪制出一個二維碼。MYQR庫中包含了很多參數,如words、version、level、picture、colorized等,其中,words為非默認參數,其余幾個為默認參數。在輸入時必須為words參數賦值,其他參數如果沒有賦值會自動按照庫中的默認值運行。
words參數含義是二維碼指向鏈接,可以將句子或者鏈接作為參數輸入。
version的含義是邊長,它的類型是整數,用于控制邊長,范圍是1到40,數字越大邊長越大,默認邊長是取決于你輸入的信息的長度和使用的糾錯等級。
level用來控制二維碼糾錯水平,范圍是L:約可糾錯7%的數據碼字、M糾錯15%、Q糾錯25%、H糾錯30%,默認為H最高。
picture參數含義是結合圖片,將QR二維碼圖像與一張同目錄下的圖片相結合,產生一張黑白圖片作為背景。也可以通過colorized選項修改成彩色背景。
首先我們來制作一張靜態二維碼:
from MyQR import myqr
myqr.run(words="welcome to program world")
二維碼的其他參數都不需要設置就能在同目錄下生成一張qrcode.png的圖片了。
我在words里添加了內容“welcome to our program world”運行代碼后會產生一張二維碼的圖片,通過手機微信掃一掃或者電腦上識別二維碼的程序就可以解碼讀出包含的文字內容了(圖1)。

在運行結果myqr.run()里填寫二維碼產生的內容可以是文字也可以是鏈接。
如果覺得簡單的黑白二維碼太過于普通,還可以在文件夾中準備好比較有特色的背景圖片或者gif動圖。通過修改picture和colorized參數便可以實現彩色二維碼和動態二維碼的圖片,代碼如圖2。

MyQR庫讓我們充分感受到了Python的友好和強大,日后我也會繼續和大家分享更多Python的知識與技巧,與大家一起學習更多的新知識(圖3)。
