Python生成个性二维码
Python 生成个性二维码」是我们推出不久的新课,这篇文章教你如何使用 Python 基于MyQR实现生成普通二维码,带图片的艺术二维码,动态二维码。
先来看看效果图
- 普通二维码
- 带图片的艺术二维码
- 动态二维码
实验环境
python: 3.5.2
实验准备
创建环境
打开终端,进入 Code 目录,并将其作为我们的工作目录。
$ cd Code
克隆MyQR库
$ git clone sylnsfar/qrcode
下载环境依赖
Code/ $ cd qrcode
qrcode/ (master) $ sudo pip3 install -r requirements.txt
下载所需资源文件并解压
qrcode/ (master) $ wget http://labfile.oss.aliyuncs.com/courses/1126/Sources.zip #这里提供制作二维码所需要的图片资源
qrcode/ (master) $ unzip Sources.zip
FreeImage
由于虚拟环境缺少了一些FreeImage依赖。我们在这里手动添加。
在shiyanlou
根目录里打开终端:
shiyanlou/ $ mkdir .imageio && cd .imageio
.imageio/ $ mkdir freeimage && cd freeimage
freeimage/ $ wget http://labfile.oss.aliyuncs.com/courses/1126/libfreeimage-3.16.0-linux64.so
实验步骤
接下来,我们会自己制作普通二维码、带有图片的艺术二维码和动态二维码。
普通二维码
确保当前目录为qrcode
,在命令行中输入 python3 ,进入 python3 环境:
qrcode/ (master) $ python3
在 python3 环境中输入以下代码:
>>>from MyQR import myqr
>>>myqr.run('https://www.shiyanlou.com')
大功告成,那么来看一看自己制作的第一张二维码图片吧!
先退出python3环境
>>>quit()
再使用火狐浏览器预览
qrcode/ (master) $ firefox qrcode.png
效果图:
快快拿起手机扫一扫,看看是否有效,若成功,将跳转到实验楼主页。
下面我们来详细的讲解一下myqr.run()
函数里面的参数
带图片的艺术二维码
光是二维码,是否太单调了呢?没关系,我们能加上我们想要的图片,使二维码更具辨识度! 我们准备了实验楼的Logo:
当然,Sources文件夹里有更多的图片,你也可以选择你个人喜爱的一张来制作艺术二维码!
让我们将这张图加入到我们的二维码中,加入过程需要在参数里指定实验楼Logo图片的地址,我们也要设置新图片的保存名,以免和上一张二维码图片冲突。
>>>myqr.run(
... words='https://www.shiyanlou.com',
... picture='Sources/shiyanlouLogo.png',
... save_name='artistic.png',
...)
再次退出python3环境
>>>quit()
使用火狐浏览器打开图片
qrcode/ (master) $ firefox artistic.png
黑白实验楼Logo二维码:
黑白的,似乎不是那么好看,彩色的如何呢? 实现彩色也非常简单,在参数里将 colorized
参数值设为 True
。
>>>myqr.run(
... words='https://www.shiyanlou.com',
... picture='Sources/shiyanlouLogo.png',
... colorized=True,
... save_name='artistic_Color.png',
...)
打开图片
qrcode/ (master) $ firefox artistic_Color.png
彩色实验楼Logo二维码:
动态二维码
其实生成动态二维码,并没有想象的那么复杂。 在这里,我们使用美丽的新垣结衣GIF!
新垣结衣GIF:
在生成动态二维码的过程中,值得注意的一点是,我们生成保存的文件也必须是.gif 格式哟。 让我们赶快开始!
>>>myqr.run(
... words='实验楼 - 在线做实验,高效学编程',
... picture='Sources/gakki.gif',
... colorized=True,
... save_name='Animated.gif',
...)
新鲜出炉的动图,新垣结衣动态二维码:
源码:https://www.shiyanlou.com
MyQR源码解读及完整文档:Python 生成个性二维码Python实验楼 - 实验楼
更多IT课程:实验楼 - 在线做实验,高效学编程