1. 二維碼隨處可見
在我們的生活中,二維碼可以說是無處不在了:加好友?掃個碼!付錢?掃個碼!大街小巷,二維碼隨處可見,甚至小廣告里也加上了二維碼。
如今,二維碼已經有了信息獲取、網站跳轉、手機電商以及手機支付等多種功能。大家平時見到最多的應該是黑白的二維碼。就像這樣:
以下的內容中,你將會了解到二維碼的基本知識並且學會制作一個屬於你自己的動態二維碼。
讓我們一起來吧。
2. 二維碼基礎知識
二維碼是用某種特定的幾何圖形按一定規律在平面(也即二維方向上)分布的黑白相間的圖形記錄數據符號信息的,它利用了計算機內部邏輯“0”“1”的概念,用幾個與二進制相對應的幾何圖形來表示文字信息,每種碼都有特定的字符集。
各部分解析:
- 位置探測圖形:由三個黑白相間的大正方形嵌套組成,分別位於二維碼左上角、右上角、左下角,目的是為了確定二維碼的大小和位置。
- 定位圖形 :由兩條黑白相間的直線組成,便於確定二維碼的角度,糾正扭曲。
- 校正圖形 :僅在版本2以上存在,由三個黑白相間的小正方形嵌套組成,便於確定中心,糾正扭曲。
- 數據和糾錯碼:記錄數據信息和相應的糾錯碼,糾錯碼的存在使當二維碼的數據出現允許范圍內的錯誤時,也可以正確解碼。
- 版本信息 :僅在版本7以上存在,記錄具體的版本信息。
- 格式信息 :記錄使用的掩碼和糾錯等級。
好了,基礎知識到這里,接下來我們來一步一步實現生成二維碼。
3. 環境准備
安裝導入qrcode以及myqr庫,依次點擊“開始”-“運行”-輸入“cmd”,通過pip依次安裝:
4. 簡單的開始
然后我們開始制作一個最簡單的二維碼,代碼如下:
運行后如下:
5. 進階實現
稍作修改就可以自行輸入二維碼表示的信息:
然后我們給二維碼加一個logo:
運行結果如下,掃描之后就能登錄到北京理工大學的主頁。
6 . 生成動態二維碼
這下我們就要用到MyQR庫了
下面我們來詳細的講解一下 myqr.run()
函數里面的參數
參數 | 含義 | 詳細 |
---|---|---|
words | 二維碼指向鏈接 | str,輸入鏈接或者句子作為參數 |
version | 邊長 | int,控制邊長,范圍是1到40,數字越大邊長越大,默認邊長是取決於你輸入的信息的長度和使用的糾錯等級 |
level | 糾錯等級 | str,控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高,默認糾錯等級為'H' |
picture | 結合圖片 | str,將QR二維碼圖像與一張同目錄下的圖片相結合,產生一張黑白圖片 |
colorized | 顏色 | bool,使產生的圖片由黑白變為彩色的 |
contrast | 對比度 | float,調節圖片的對比度,1.0 表示原始圖片,更小的值表示更低對比度,更大反之。默認為1.0 |
brightness | 亮度 | float,調節圖片的亮度,其余用法和取值與 contrast 相同 |
save_name | 輸出文件名 | str,默認輸出文件名是"qrcode.png" |
save_dir | 存儲位置 | str,默認存儲位置是當前目錄 |