python生成二维码

前言

二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用python来生成二维码、以及识别二维码。

二维码基础知识

在这里插入图片描述
从图中我们可以看出二维码结构整体划分为功能图形和编码区两大部分,功能图形又细分为:空白区、位置探测图形、位置探测图形分隔符、定位图形、校正图形,而编码区细分为:格式信息、版本信息、数据和纠错码字,来简单了解一下每一部分的功能:

  • 空白区:留白,不需要做任何处理
  • 位置探测图形:协助扫描软件定位二维码码
  • 位置探测图形分隔符:区分功能图形和编码区
  • 定位图形:指示标识密度和确定坐标系
  • 校正图形:校正图形的数量和位置
  • 格式信息:存放格式化数据的信息
  • 版本信息:二维码的规格,二维码符号共有 40 种规格的矩阵
  • 数据和纠错码字:实际保存的二维码信息和纠错码字

生成二维码

1.MyQR生成二维码

from MyQR import myqr

# 生成静态二维码
ver, level, qr_name = myqr.run(words="123456")
print(ver, level, qr_name)

# 根据url生成二维码
ver, level, qr_name = myqr.run(words="https://www.baidu.com/")
print(ver, level, qr_name)

# 静态二维码---添加图片做成艺术二维码
ver, level, qr_name = myqr.run(words="https://www.baidu.com/", colorized=True,save_name='bairui.png')
'''
colorized=True 彩色二维码
colorized=False 黑白二维码
'''
print(ver, level, qr_name)

2.qrcode生成二维码

import qrcode
  
# 调用QRCode,可以接收以下参数
"""
version: 二维码的格子大小,可以是1到40。值越大,格子越大,一般不超过10,选择3比较合适
error_correction: 二维码错误容许率,默认为qrcode.constants.ERROR_CORRECT_M,容许小于 15% 的错误率
         此外还有qrcode.constants.ERROR_CORRECT_L: 容许小于 7% 的错误率
         qrcode.constants.ROR_CORRECT_H: 容许小于 30% 的错误率
box_size: 二维码每个小格子包含的像素数量
border: 二维码到图片边框的小格子数,默认值为 4         
"""
qr = qrcode.QRCode() # 事实上里面的参数我们可以都不指定,默认会选择一个比较合适的参数
  
# 调用add_data,指定url。
qr.add_data("https://www.baidu.com/")
# 生成二维码图像,颜色为蓝色,背景色为粉色
img = qr.make_image(fill_color='blue', back_color='pink')
# 显示图像,这个会打开一个临时文件
img.show()
# 此外,我们还可以保存到硬盘上
img.save("1.png")
  
# 事实上,这个img实际上是通过PIL模块得到的,可以理解为里面Image对象
# 如果你熟悉PIL模块的话,那么你应该知道可以将里面Image对象保存成图片对应的字节流
from io import BytesIO
buf = BytesIO()
img.save(buf) # 将字节保存到buf里面
with open("2.png", "wb") as f:
  f.write(buf.getvalue()) # 和直接保存为1.png是一样的

以上就是如何用Python生成二维码的详细内容,更多关于Python生成二维码的资料请关注博主其它相关文章!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏沫の梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值