python调用MyQR库生成个性二维码

 

 

1.1 实验内容

本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小、是否在现有图片的基础上生成、是否生成动态二维码。

本课程主要面向Python3初学者。

1.2 知识点

  • Python3基础
  • MyQR库

1.3 效果截图

1.3.1 普通二维码

1.3.2 带图片的艺术二维码

1.3.3 动态二维码

1.4 实验环境

  • python-3.5.2
  • MyQR-2.3.1

2.1 创建环境

打开终端,进入 Code 目录,并将其作为我们的工作目录。

1$ cd Code 2 3

2.2 下载MyQR

1$ sudo pip3 install MyQR 2 3

2.3 下载所需资源文件并解压

1Code/ $ wget http://labfile.oss.aliyuncs.com/courses/1126/Sources.zip #这里提供制作二维码所需要的图片资源 2Code/ $ unzip Sources.zip 3 4

2.4 FreeImage

由于虚拟环境缺少了一些FreeImage依赖。我们在这里手动添加。

在shiyanlou根目录里打开终端:

1shiyanlou/ $ mkdir .imageio && cd .imageio 2.imageio/ $ mkdir freeimage && cd freeimage 3freeimage/ $ wget http://labfile.oss.aliyuncs.com/courses/1126/libfreeimage-3.16.0-linux64.so 4

确保当前目录为Code,在命令行中输入 python3 ,进入 python3 环境:

1Code/ $ python3 2 3

在 python3 环境中输入以下代码:

1>>>from MyQR import myqr 2>>>myqr.run('https://www.shiyanlou.com') 3 4

大功告成,那么来看一看自己制作的第一张二维码图片吧!

先退出python3环境

1>>>quit() 2 3

再使用火狐浏览器预览

1Code/ $ firefox qrcode.png 2 3

效果图:

快快拿起手机扫一扫,看看是否有效,若成功,将跳转到实验楼主页。

下面我们来详细的讲解一下 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,默认存储位置是当前目录

其实生成动态二维码,并没有想象的那么复杂。 在这里,我们使用美丽的新垣结衣GIF!

新垣结衣GIF:

在生成动态二维码的过程中,值得注意的一点是,我们生成保存的文件也必须是.gif 格式哟。 让我们赶快开始!

1>>>myqr.run( 2... words='https://www.shiyanlou.com', 3... picture='Sources/gakki.gif', 4... colorized=True, 5... save_name='Animated.gif', 6...) 7 8

新鲜出炉的动图,新垣结衣动态二维码:

效果很不错呢,拿起手机试着扫扫看。

代码交流 2021