使用python3调用MyQR库生成动态二维码(附源代码)

Posted aby321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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.原图最好使用正方形图片

 

 

 


以上是关于使用python3调用MyQR库生成动态二维码(附源代码)的主要内容,如果未能解决你的问题,请参考以下文章

Python MyQR生成自定义个性二维码

用python生成二维码

用Python生成二维码

myqr库制作二维码

⭐️Python实用小工具之制作酷炫二维码(有界面附源码)⭐️

使用Python生成艺术二维码,如何使你的二维码独一无二呢?