Python之路04-動態二維碼

昨天寫了一個簡單的二維碼生成腳本,解決了下載apk麻煩的問題,百度看到還有一個myqr的動態二維碼模塊,聽說仍是個大學生寫的,頗有意思,就本身試了試。python

先了解一下myqr模塊的參數含義吧:ide

參數 含義 詳細
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,默認存儲位置是當前目錄

myqr須要先安裝一下,安裝命令爲pip install myqr。安裝完成後根據須要配置環境變量,而後就能夠開始操做啦。spa

最簡單的生成二維碼方式是在終端裏直接輸入 myqr https://www.cnblogs.com/hulk-1029/ -p 1.gif -c   code

-p是picture參數,-c是colorized參數。沒有加-c參數生成的則是黑白的動態圖。blog

myqr調用方式也很簡單,生成動態二維碼的方式其實就是將一張動態圖片做爲二維碼的背景而已。圖片

在終端執行python myqr_code.py https://www.cnblogs.com/hulk-1029/ 便可生成以下圖的動態二維碼,須要注意的是,生成的動態二維碼名稱須要爲.gif格式哦,不然就沒有了動態的效果了。ip

# -*- coding: utf-8 -*-

import qrcode import os,sys from MyQR import myqr def parseArgs(sys_args=sys.argv): apk_path = (lambda x: len(x)!=1 and x[1] or 'help')(sys_args) # 分離所在目錄和文件名
    [dirname,filename]=os.path.split(apk_path) # 分離擴展名
    [fname,fename]=os.path.splitext(apk_path) return dirname,filename,fname,fename ,apk_path def QrCode(path): '''靜態二維碼''' qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=5, border=2, ) apk_path = path[0]+'/'+path[1] #print apk_path
 qr.add_data(apk_path) qr.make(fit=True) img = qr.make_image() img.save('%s.png' % (path[2].split('/')[-1])) def myqrCode(path): '''動態二維碼''' myqr.run( words='%s' % path[4], picture='1.gif', # 同級目錄下放一張動態圖片做爲二維碼背景
        colorized=True, save_name='myqr.gif' ) if __name__ == '__main__': path_list = list(parseArgs()) #QrCode(path_list).
    myqrCode(path_list)
myqr_code.py
相關文章
相關標籤/搜索