手把手教你用Python打造一款屬于你自己的個(gè)性二維碼
回復(fù)“書(shū)籍”即可獲贈(zèng)Python從入門(mén)到進(jìn)階共10本電子書(shū)
/前言/
???在現(xiàn)代社會(huì)中,我們出行坐公交經(jīng)常會(huì)看到二維碼,支付寶微信收款也會(huì)有二維碼掃一掃,那么這些二維碼是怎樣生成的了,今天我們不研究二維碼的原理,只教大家如何制作屬于自己的二維碼。
/項(xiàng)目目標(biāo)/
????自己用程序打造一款屬于自己的個(gè)性二維碼。
/項(xiàng)目準(zhǔn)備/
編輯器:sublime text 3 ? ?
瀏覽器:360瀏覽器 ? ?
模塊:MyQR
/實(shí)現(xiàn)步驟/
一、分析網(wǎng)站二維碼生成
在實(shí)踐前我們可以先看看網(wǎng)站上的二維碼生成。
在這里我要分享一個(gè)二維碼網(wǎng)址,算是知名度比較大的二維碼在線生成工具:草料二維碼。
它支持很多種生成二維碼的方式:

可以看出生成種類(lèi)還是挺豐富的,基本上能滿(mǎn)足我們所有的要求,而且他還有很多其他豐富的功能。最重要的是所有功能都免費(fèi)。

這樣就完成了一個(gè)文本二維碼,我們只要用掃碼工具一掃就能看到‘任性的90后boy’這幾個(gè)字。
二、模塊生成
下面我們來(lái)用命令集制作屬于自己的二維碼,今天給大家介紹一個(gè)神器:myqr模塊。
它的操作方法比較簡(jiǎn)單,只需在cmd窗口中操作即可。
1.安裝
pip install myqr2.基本用法

可以看出它生成一張照片,而且我把它找出來(lái)了,真的太機(jī)智啦~
打開(kāi)我的微信一掃,顯示的就是 ‘/?’,原諒我還沒(méi)從cmd的命令中緩過(guò)神來(lái)。下面我們來(lái)看看幫助文件能給我們什么答案吧。

顯示的包的內(nèi)容是他可以是一個(gè)腳本也可以是一個(gè)命令行,還是挺強(qiáng)大的,先去看它的源代碼吧。

通過(guò)分析我知道了這個(gè)工具的確強(qiáng)大,而且參數(shù)也不多,比較簡(jiǎn)單。下面是我總結(jié)它的參數(shù)含義,不知道對(duì)不對(duì):
words:?jiǎn)卧~,應(yīng)該是內(nèi)容version:版本level:級(jí)別picture:背景圖colorized:顏色contrast:對(duì)比度brightness:亮度save_name:名稱(chēng)save_dir:路徑
3.生成原始二維碼
那么說(shuō)淦就淦,我們先來(lái)生成張簡(jiǎn)單的吧。

可以看到成功,通過(guò)掃碼,很順利就掃到hello。
4.生成帶背景圖的二維碼
不過(guò),這樣的二維碼實(shí)在是太普通了,我們可不可以在豐富下它的功能呢?答案當(dāng)然是可以的。比方說(shuō)我們給它加個(gè)背景圖。
生成出來(lái)了,不過(guò)有點(diǎn)丑。
5.生成帶顏色的二維碼
? ? 我想著應(yīng)該可以給二維碼加點(diǎn)顏色。于是乎加了一句代碼就生成了,簡(jiǎn)單來(lái)說(shuō)就是一個(gè)參數(shù)就ok。
? ?它就是colorized,只要將它設(shè)為你True即可顯示背景圖的顏色,背景圖有了顏色,自然二維碼也會(huì)有。
6.修改二維碼大小
看起來(lái)像那么回事了,不過(guò)這個(gè)二維碼會(huì)不會(huì)太小了,給它整大點(diǎn),通過(guò)查文檔得知只需更改它的version值即可,有點(diǎn)想不通,version不是版本的意思嗎,怎么到你那兒就成大小了?難道不是size嗎,不管了,言歸正傳。
嗯嗯,現(xiàn)在有點(diǎn)像樣了 。
7.動(dòng)態(tài)二維碼生成
其實(shí)我們?cè)谶@里要想生成動(dòng)態(tài)二維碼也很簡(jiǎn)單,只需將生成類(lèi)型和背景圖片設(shè)置為gif即可。
from MyQR import myqrmyqr.run(words='hello',version=10,picture='12.gif',colorized=True,save_name='hello.gif',save_dir='./Game2')
/小結(jié)/
????其實(shí)MyQr還可以通過(guò)命令行來(lái)操作生成二維碼,但是我們Python程序員天生就很Python,所以還是Python好。
????通過(guò)對(duì)二維碼的了解使我知道了它的神器之處,原來(lái)一個(gè)二維碼如此簡(jiǎn)單就能生成出來(lái),也驚嘆世人的偉大與不朽。
????想學(xué)習(xí)更多關(guān)于Python的知識(shí),可以參考學(xué)習(xí)網(wǎng)址:http://pdcfighting.com/,點(diǎn)擊閱讀原文,可以直達(dá)噢~
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說(shuō)一兩句吧~~
