本文作者:HelloGitHub- LITTLECHIEH
這是 HelloGitHub 推出的《講解開源項(xiàng)目》系列,今天給大家推薦一個(gè) Python 開源生成二維碼的項(xiàng)目——qrcode
一、介紹
1.1 二維碼
二維碼又稱二維條碼,常見的二維碼為 QR Code,QR 全稱 Quick Response。是一個(gè)近幾年來(lái)移動(dòng)設(shè)備上超流行的一種編碼方式,在現(xiàn)在的生活中二維碼隨處可見。我們可以用它支付、瀏覽網(wǎng)站等,為什么他會(huì)這么流行?下面說(shuō)幾個(gè)特點(diǎn):
- 可存儲(chǔ)的信息量大:可容納多達(dá) 1850 個(gè)大寫字母或 2710 個(gè)數(shù)字或 1108 個(gè)字節(jié)或 500 多個(gè)漢字。
- 容錯(cuò)能力強(qiáng):具有糾錯(cuò)功能,這使得二維條碼因穿孔、污損等引起局部損壞時(shí),照樣可以正確得到識(shí)讀,損毀面積達(dá) 30% 仍可恢復(fù)信息。
- 譯碼可靠性高:它比普通條碼譯碼錯(cuò)誤率百萬(wàn)分之二要低得多,誤碼率不超過(guò)千萬(wàn)分之一。
- 激光可識(shí)別。
比如我們現(xiàn)在常見的公眾號(hào)二維碼,他就利用了二維碼容錯(cuò)能力強(qiáng)的特點(diǎn),在二維碼中間加入了公眾號(hào)的圖標(biāo)。雖然中間的圖片遮蓋了一部分二維碼的真實(shí)數(shù)據(jù),但因?yàn)槠鋸?qiáng)大的容錯(cuò)能力,所以并沒有影響二維碼要傳遞的數(shù)據(jù)。
1.2 二維碼的組成
一圖勝千言,好了這里二維碼的基本知識(shí)就介紹完成了。
1.3 生成二維碼庫(kù)
二維碼是一個(gè)很方便的傳遞信息的載體,但是像上面黑白的二維碼感覺非常缺少‘靈魂’。下面就介紹今天的主角:qrcode
這是一個(gè)由 Python 編寫的二維碼生成器,支持生成 GIF 動(dòng)態(tài)、圖片二維碼,讓你的二維碼變得有趣起來(lái)。
項(xiàng)目地址: https://github.com/sylnsfar/q...
二、qrcode 庫(kù)的優(yōu)點(diǎn)
為什么需要使用到這個(gè)二維碼生成器來(lái)生成二維碼呢?
- 使用簡(jiǎn)單:快速上手,僅需 2 行代碼,即可開始使用!
-
在二維碼中增加圖片:可以讓用戶通過(guò)二維碼中的圖片,初步了解該二維碼是和什么東西有關(guān)。(該二維碼加入了 HG 的 logo)
-
在二維碼中增加動(dòng)圖:通過(guò)動(dòng)圖,讓二維碼活過(guò)來(lái)。
-
使用方式多樣:有以下的 3 種使用方式
- 命令行方式
- 導(dǎo)入文件方式(import)
- 可執(zhí)行文件
-
用就對(duì)了:我不要你覺得,我要我覺得
滑稽
三、快速上手
演示環(huán)境操作系統(tǒng):Windows | Python 版本:3.5
3.1 安裝
我們通過(guò) Python 的 pip 包管理工具進(jìn)行安裝:
pip install myqr
注:此處可能需要升級(jí) pip,升級(jí)命令
pip install --upgrade pip
安裝完成之后,就可以直接在命令行中使用了!下面逐一講解各種二維碼的生成方法
3.2 普通二維碼
首先生成一個(gè)普通二維碼
- 打開 cmd
-
輸入命令
myqr https://github.com -n helloword.png
參數(shù)
-n
:生成二維碼的文件名
這樣就會(huì)得到一個(gè)二維碼圖片,生成的圖片保存在了當(dāng)前目錄,后面可以通過(guò)傳入?yún)?shù)修改默認(rèn)目錄。
3.3 彩色二維碼
-
先準(zhǔn)備一張圖片放在目錄下(
方形
的圖片效果最好)
- 將圖片名稱修改為 github.jpg(后綴根據(jù)自己的照片格式而定)
-
在命令行中輸入:
myqr https://github.com -n mypicture.png -p github.jpg -c
參數(shù):
-
-n
:生成二維碼的名稱 -
-p
:二維碼加入的圖片,支持 jpg、gif、png 格式 -
-c
:選擇是否生成彩色二維碼,如果不設(shè)置默認(rèn)為黑白 - 更多參數(shù)請(qǐng)看下面附錄部分
-
3.4 動(dòng)態(tài)二維碼
步驟和彩色二維碼的方法一致,但是需要注意:
- 增加圖片為 gif
- 修改生成二維碼的后綴為 gif
四、附錄
4.1 MyQR 參數(shù)
從官方文檔整理的常用參數(shù)如下:
-
-n
:生成二維碼的名稱 -
-p
:二維碼加入的圖片,支持.jpg
、.gif
、.png
、.bmp
格式 -
-c
:選擇是否生成彩色二維碼,如果不設(shè)置默認(rèn)為黑白 -
-v
:控制邊長(zhǎng),范圍是 1 至 40,數(shù)字越大邊長(zhǎng)越大 -
-l
:控制糾錯(cuò)水平,范圍是 L、M、Q、H 從左到右依次升高 -
-d
:控制輸出二維碼的存儲(chǔ)位置 -
-con
:用以調(diào)節(jié)圖片的對(duì)比度,1.0 表示原始圖片,更小的值表示更低對(duì)比度,更大反之。默認(rèn)為 1.0 -
-bri
:用來(lái)調(diào)節(jié)圖片的亮度,其余用法和取值與-con
相同
4.2 cmd 切換盤符
打開命令行有個(gè)小技巧,可以將 cmd 迅速切換到想要的目錄,避免了切換盤符的麻煩:
- 利用文件管理,找到目標(biāo)文件夾
-
頂部地址欄輸入 cmd,然后‘回車‘
-
切換盤符的坑:直接切換盤符會(huì)失敗
4.3 二維碼分類介紹
二維碼有以下幾種分類
-
黑白和彩色碼
- 黑白碼
- 彩色碼
-
融合和視覺碼
- 融合碼:就是將內(nèi)容與二維碼融合使它們成為一個(gè)整體,圖片由二維碼組成,二維碼就是圖片的一部分。這種比較適合使用構(gòu)造簡(jiǎn)單的圖片或者文字做美化主體內(nèi)容
-
視覺碼:以圖片為背景,再在圖片上構(gòu)建很多特殊的點(diǎn),這些點(diǎn)不會(huì)影響背景的視覺效果
![圖片描述][8]
-
藝術(shù)碼
-
藝術(shù)二維碼,就是將二維碼進(jìn)行的各個(gè)“碼眼”按照設(shè)計(jì)師的構(gòu)思進(jìn)行分析、拆解、合并,再在那些“碼眼”區(qū)域填充上一些小素材元素,最后形成一個(gè)別具特色二維碼。
-
藝術(shù)二維碼,就是將二維碼進(jìn)行的各個(gè)“碼眼”按照設(shè)計(jì)師的構(gòu)思進(jìn)行分析、拆解、合并,再在那些“碼眼”區(qū)域填充上一些小素材元素,最后形成一個(gè)別具特色二維碼。
五、最后
以上就是本篇文章的全部?jī)?nèi)容了,相信你對(duì)二維碼更加了解了。并且對(duì) qrcode 庫(kù)的常用參數(shù)有了一定了解,那就快去生成一個(gè)有趣、有‘靈魂’的二維碼吧!
有好玩的庫(kù),但不會(huì)用,看著干著急?歡迎告訴我們,同時(shí)也歡迎加入我們。我們的愿景:
“讓對(duì)開源感興趣的人不再畏懼,開源項(xiàng)目的發(fā)起者不再孤單。”
六、參考資料
- 小技巧|還在用黑白二維碼?弱爆了!教你點(diǎn)新的技能!
- PDF 淺談 QR Code
- QRcode
『講解開源項(xiàng)目系列』 ——讓對(duì)開源項(xiàng)目感興趣的人不再畏懼、讓開源項(xiàng)目的發(fā)起者不再孤單。跟著我們的文章,你會(huì)發(fā)現(xiàn)編程的樂(lè)趣、使用和發(fā)現(xiàn)參與開源項(xiàng)目如此簡(jiǎn)單。歡迎留言聯(lián)系我們、加入我們,讓更多人愛上開源、貢獻(xiàn)開源~
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
