1. 程式人生 > 實用技巧 >python生成個性二維碼

python生成個性二維碼

2.1 建立環境

開啟終端,進入 Code 目錄,並將其作為我們的工作目錄。

$ cd Code

2.2 下載MyQR

$ sudo pip3 install MyQR

2.3 下載所需資原始檔並解壓

Code/ $ wget http://labfile.oss.aliyuncs.com/courses/1126/Sources.zip #這裡提供製作二維碼所需要的圖片資源
Code/ $ unzip Sources.zip

2.4 FreeImage

由於虛擬環境缺少了一些FreeImage依賴。我們在這裡手動新增。

shiyanlou根目錄裡開啟終端:

shiyanlou/ $ mkdir .imageio && cd .imageio
.imageio/ $ mkdir freeimage && cd freeimage
freeimage/ $ wget http://labfile.oss.aliyuncs.com/courses/1126/libfreeimage-3.16.0-linux64.so


確保當前目錄為Code,在命令列中輸入 python3 ,進入 python3 環境:

Code/ $ python3

在 python3 環境中輸入以下程式碼:

>>>from MyQR import myqr
>>>myqr.run('https://www.shiyanlou.com')

大功告成,那麼來看一看自己製作的第一張二維碼圖片吧!

先退出python3環境

>>>quit()

再使用火狐瀏覽器預覽

Code/ $ firefox qrcode.png

下面我們來詳細的講解一下 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,預設儲存位置是當前目錄

光是二維碼,是否太單調了呢?沒關係,我們能加上我們想要的圖片,使二維碼更具辨識度! 我們準備了實驗樓的Logo:

實驗樓Logo圖片:

當然,Sources資料夾裡有更多的圖片,你也可以選擇你個人喜愛的一張來製作藝術二維碼!

讓我們將這張圖加入到我們的二維碼中,加入過程需要在引數裡指定實驗樓Logo圖片的地址,我們也要設定新圖片的儲存名,以免和上一張二維碼圖片衝突。

>>>myqr.run(
...    words='https://www.shiyanlou.com',
...    picture='Sources/shiyanlouLogo.png',
...    save_name='artistic.png',
...)

再次退出python3環境

>>>quit()

使用火狐瀏覽器開啟圖片

Code/ $ firefox artistic.png

黑白實驗樓Logo二維碼:

黑白的,似乎不是那麼好看,彩色的如何呢? 實現彩色也非常簡單,在引數裡將 colorized 引數值設為 True

>>>myqr.run(
...    words='https://www.shiyanlou.com',
...    picture='Sources/shiyanlouLogo.png',
...    colorized=True,
...    save_name='artistic_Color.png',
...)

開啟圖片

Code/ $ firefox artistic_Color.png

彩色實驗樓Logo二維碼:

好看多了,但我們的實驗並沒有到此為止哦!

重點來了!!!

動態二維碼

from MyQR import myqr

myqr.run( words='https://www.shiyanlou.com', picture='D:/Automation_Develop_Work/Python_Learning/Other/wm2.gif', save_dir='D:/Automation_Develop_Work/Python_Learning/Other', save_name='qrcode_four.gif', colorized=True, ) 參考連結:https://www.cnblogs.com/MasterMonkInTemple/p/11361933.html