python生成個性二維碼
阿新 • • 發佈:2020-07-24
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