使用python3調用MyQR庫生成動態二維碼(附源代碼)


 

 

可生成普通二維碼、帶圖片的藝術二維碼(黑白與彩色)、動態二維碼(黑白與彩色)。

 

GitHub:https://github.com/sylnsfar/qrcode

中文版:https://github.com/sylnsfar/qrcode/blob/master/README-cn.md

 

已封裝成MyQR庫,直接使用pip安裝即可

 

# 安裝模塊后
from MyQR import myqr
version, level, qr_name = myqr.run(
    words,
    version=1,
    level='H',
    picture=None,
    colorized=False,
    contrast=1.0,
    brightness=1.0,
    save_name=None,
    save_dir=os.getcwd()
    )

 

參數介紹:

# help(myqr)
Positional parameter
   words: str

Optional parameters
   version: int, from 1 to 40
   level: str, just one of ('L','M','Q','H')
   picutre: str, a filename of a image
   colorized: bool
   constrast: float
   brightness: float
   save_name: str, the output filename like 'example.png'
   save_dir: str, the output directory

 

words:字符串類型,鏈接或者句子作為參數,然后在程序的當前目錄中產生相應的二維碼圖片文件

version:整型,控制邊長,范圍是1至40,數字越大邊長越大

level:字符串類型,控制糾錯水平,范圍是L、M、Q、H,從左到右依次升高

picture:字符串類型,圖片鏈接,支持png、jpg、bmp、gif(用gif格式的話,生成的二維碼就是動態的

colorized:布爾類型,True是彩色,False是黑白

save_name:字符串類型,保存二維碼圖片的名字,需要寫出圖片類型。默認輸出文件名是“ qrcode.png ",而默認存儲位置是當前目錄,重名會覆蓋當前

save_dir:字符串類型,保存二維碼圖片的路徑

constrast:浮點類型,調節生成圖片的對比度,1.0表示與原圖片一致,更小的值表示更低的對比度

brightness:浮點類型,調節生成圖片的亮度,用法與constrast一致

 

源代碼



from MyQR import myqr
import os

#1、黑白、L,其他參數默認
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='L',
picture='panda.png',
colorized=False,
contrast=1.0,
brightness=1.0,
save_name='1panda_noncolorized.png',
save_dir=os.getcwd()
)

#2、彩色、L,其他參數默認
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='L',
picture='panda.png',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='2panda_colorized.png',
save_dir=os.getcwd()
)

#3、彩色、H,其他參數默認
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='H',
picture='panda.png',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='3panda_colorized_H.png',
save_dir=os.getcwd()
)

#4、彩色、H、40,其他參數默認
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=40,
level='H',
picture='panda.png',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='4panda_colorized_H_40.png',
save_dir=os.getcwd()
)

#5、彩色、動態二維碼,其他參數默認
version, level, qr_name = myqr.run(
words='https://github.com/sylnsfar/qrcode/blob/master/README-cn.md' ,
version=1,
level='L',
picture='qb.gif',
colorized=True,
contrast=1.0,
brightness=1.0,
save_name='5qb.gif',
save_dir=os.getcwd()
)

 

原始圖片:panda.png,大小1213*1213

 

結果(按順序顯示,未改顯示圖片的大小)

 

 

 

 

 

 

有幾個小問題:

1. 原圖本身是jpg格式,但是運行報錯;將后綴改為png之后運行ok,原因暫時未知

2.生成的二維碼大小要適中,若version過大(例如本例中的第四張),手機需要距離一定的距離才能掃到,但是無法識別

3.原圖最好使用正方形圖片

 

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM