python myqr库_MyQR与Qrcode库:利用Python生成动态二维码

MyQR库

安装

# 通过 pip安装

pip(3) install myqr(or MyQR)

使用方法

MyQR可以在命令行模式和Python中使用

Python中使用的话参数有:

myqr.run(

words='Hello world', #在命令后输入链接或者句子作为参数,然后在程序的当前目录中产生相应的二维码图片文件,默认命名为” qrcode.png“

version=1, #设置容错率为最高默认边长是取决于你输入的信息的长度和使用的纠错等级;而默认纠错等级是最高级的H

level='H', #控制纠错水平,范围是L、M、Q、H,从左到右依次升高

picture='WChat.png', #用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片

colorized=True, #可以使产生的图片由黑白(False)变为彩色(True)的

contrast=1.0, #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。

brightness=1.0, #用来调节图片的亮度,其余用法和取值与 -con 相同

save_name='test.png', #控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ;

save_dir=os.getcwd() #控制位置。

MyQR的命令行参数有:

# 概括

myqr Words

[-v {1,2,3,...,40}]

[-l {L,M,Q,H}]

[-n output-filename]

[-d output-directory]

[-p picture_file]

[-c]

[-con contrast]

[-bri brightness]

两种不同的模式的参数一一对应

普通二维码 包括 Words, -v, -l, -n, -d这几个参数艺术二维码 介绍了 -p, -c, -con, -bri这几个参数

普通二维码

如要生成一个最简单的二维码,只需要一行代码:

from MyQR import myqr

myqr.run(words='http://smilecoc.vip/')

在命令后输入链接或者文字作为参数,然后在程序的当前目录中产生相应的二维码图片文件,默认命名为” qrcode.png“。

这样扫码后就可以直接进入我的博客了

如果需要自己定义输出名称和位置,则加入save_name和save_dir参数即可。注意同名文件会覆盖旧的。

from MyQR import myqr

import os

myqr.run(words='http://smilecoc.vip/',save_name='test.jpg',save_dir=os.getcwd())

艺术二维码

生成一张带有背景的二维码:

from MyQR import myqr

myqr.run(words='http://smilecoc.vip/',picture='testbg.jpg',colorized=True)

参数picture用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片。colorized为False时为黑白背景,为True可以使产生的图片由黑白变为彩色的。contrast和brightness用来调节图片的对比度和亮度。1.0 表示原始图片,更小的值表示更低对比度(亮度),更大反之。默认为1.0。

动态GIF二维码

动态二维码与上述生成带图片的二维码方法没什么区别,你只要采用 .gif 格式的图片即可生成黑白或者彩色的动态二维码。但注意如果自定义输出的文件名,切记其格式也必须是 .gif 格式。

具体代码如下:

from MyQR import myqr

myqr.run(words='http://smilecoc.vip/', picture='testimg.gif',colorized=True,save_name='test.gif')

最终产出的动态二维码:

同样扫一下就可以直接进入到我的博客里。

微信艺术二维码

在微信公众号或者其他的情形下,我们只有一张普通的二维码,我们可以先通过二维码把信息提取出来再生成就可以了

首先登陆https://cli.im/weixin将微信给出的二维码转化为链接,再通过上述制作动态二维码的方法生成即可。生成的结果如下:

扫一下即可快速到达我的公众号!

使用提示

请采用正方形或近似正方形的图片

建议在图片尺寸大的时候使用version( -v )的值也应该适当变大。

MyQR的github链接:https://github.com/sylnsfar/qrcode

Qrcode库

安装

用pip安装

pip install qrcode

使用源码安装(需要git环境)

git clone git@github.com:lincolnloop/python-qrcode.git

cd python-qrcode

python setup.py install

查看安装信息

pip show qrcode

基础使用

命令行

在命令行中,使用已安装的qr脚本生成二维码:

qr 'Some data' > test.png

Python中使用

使用make函数即可生成二维码。为了方便查看,我们将二维码保存到本地

import qrcode

img = qrcode.make('Some data here') #生成二维码

img.save("test.png") #保存二维码

之后扫描二维码就会出现一个有Some data here文字的网页

更高级的用法

上面两种方式都是按照qrcode默认的方式生成二维码,如果我们希望生成不同尺寸的二维码就需要使用QRCode类了。

import qrcode

qr = qrcode.QRCode(

version=1,

error_correction=qrcode.constants.ERROR_CORRECT_L,

box_size=10,

border=4,

)

qr.add_data('Some data')

qr.make(fit=True)

img = qr.make_image(fill_color="black", back_color="white")

其中的参数:

version 表示二维码的版本号,二维码总共有1到40个版本,最小的版本号是1,对应的尺寸是21×21,每增加一个版本会增加4个尺寸。这里说的尺寸不是只生成图片的大小,而是值二维码的长宽被平均分为多少份。

error_correction指的是纠错水平,这就是为什么二维码上面放一个小图标也能扫出来,纠错容量有四个级别,分别是:

ERROR_CORRECT_L,L级别,7%或更少的错误能修正

ERROR_CORRECT_M,M级别,15%或更少的错误能修正,也是qrcode的默认级别

ERROR_CORRECT_Q,Q级别,25%或更少的错误能修正

ERROR_CORRECT_H,H级别,30%或更少的错误能修正

box_size 指的是生成图片的像素

border 表示二维码的边框宽度,4是最小值

最后附上项目地址:https://pypi.org/project/qrcode/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值