加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

用Python(v3.7)制作各种各样的二维码(QRcode)(2019-8-1)

发布时间:2020-12-20 12:51:45 所属栏目:Python 来源:网络整理
导读:**本人使用的软件为JetBrains PyCharm 2018.3.7 x64以及Python(v3.7)编写代码** 一·简单二维码 1.利用Python生成二维码,需要安装第三模块qrcode和pillow,可以直接利用pip安装(win+r下的运行输入 pip install qrcode以及 pip install pillow) 或者在pych

**本人使用的软件为JetBrains PyCharm 2018.3.7 x64以及Python(v3.7)编写代码**

一·简单二维码

1.利用Python生成二维码,需要安装第三模块qrcode和pillow,可以直接利用pip安装(win+r下的运行输入 pip install qrcode以及 pip install pillow)

或者在pycharm中安装,点击右边的+,搜索相应的模块,点击下方的install Package安装,然后一路点击ok。

?

?

2.安装两个模块成功之后,我们需要在py文件中,导入相应模块,

3.编写代码。

4.生成二维码图片。

※注释:

代码中的参数version 表示生成二维码的尺寸大小,取值范围是 1 至 40,最小尺寸 1 会生成 21 * 21 的二维码矩阵,version 每增加 1,生成的二维码就会添加 4 个单位大小,例如 version 是 2,则生成 25 * 25 尺寸大小的二维码。

参数 ERROR_CORRECT?指定二维码的容错系数,分别有以下4个系数:
  ERROR_CORRECT_L: 7%的字码可以被容错
  ERROR_CORRECT_M: 15%的字码可被容错
  ERROR_CORRECT_Q: 25%的字码可被容错
  ERROR_CORRECT_H: 30%的字码可被容错

参数 box_size 表示二维码里每个格子的像素大小。
参数 border 表示边框的格子宽度是多少(默认是4)。

源码:

import qrcode
from PIL import Image

qr=qrcode.QRCode(version=2,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=1
)
qr.add_data(‘https://www.cnblogs.com/raccoonx95/‘)
qr.make(fit=True)
img=qr.make_image()
img.save(‘raccoonx.jpg‘)

?

?二·图标二维码

上面所生成的二维码图片有点一般,下面我们可以制作带有个性图片(图标,且格式为png)的二维码。

直接贴源码↓

import qrcode
from PIL import Image

qr=qrcode.QRCode(
version=2,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=1
)

qr.add_data(‘https://www.cnblogs.com/raccoonx95/‘)
qr.make(fit=True)
img=qr.make_image()

img=img.convert(‘RGBA‘)
img_w,img_h=img.size

#设置图标的最大尺寸,不能超过二维码图片的1/3
factor=3
size_w=int(img_w/factor)
size_h=int(img_h/factor)

icon=Image.open(‘RACCOONX95.png‘)
icon_w,icon_h=icon.size

if icon_w>size_w:
icon_w=size_w
if icon_h > size_h:
icon_h=size_h
icon =icon.resize((icon_w,icon_h),Image.ANTIALIAS)

w=int((img_w-icon_w)/2)
h=int((img_h-icon_h)/2)
img.paste(icon,(w,h),icon)
#img.show()
img.save(‘QRcode-RACCOONX.png‘)

?

?

这样子就可以生成带有图标的二维码。

三·图片形式二维码

这里主要运用另外一个第三方模块(MyQR),按照上述方式安装模块,然后在代码中导入,以下是源码:

from MyQR import myqr

myqr.run(
words=‘https://www.cnblogs.com/raccoonx95/‘,
picture=‘RACCOONX95.png‘,
colorized=True,
save_name=‘My_cnblog.png‘
)

生成图片二维码

四·动态图片二维码

方法如上,只是将picture的图片来源改为.gif格式的动态图片,而且保存必须保存为相应的.gif格式。

?

以上就是我通过参考网上代码后学习的制作二维码。以后将会添加图形界面,并改善代码的性能,并尽可能添加更多的功能。(MARK一下,待填坑)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读