前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python生成二维码(二)

python生成二维码(二)

作者头像
李小白是一只喵
修改2023-09-21 16:51:27
5280
修改2023-09-21 16:51:27
举报
文章被收录于专栏:算法微时光

image.png

上一节,掌握了一些理论知识,下面开始实战.

qrcode库

qrcode库使用创建二维码的库.官网

代码语言:javascript
复制
pip install qrcode
pip install Image

使用qrcode库要依赖Image库

简单使用

代码语言:javascript
复制
import qrcode
img = qrcode.make('http://www.baidu.com')
img.show()

使用效果:

更多控制使用

官网例子:

代码语言:javascript
复制
import qrcode
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
qr.add_data('曾经沧海难为水')
qr.make(fit=True)

img = qr.make_image(fill_color="black", back_color="white")
参数说明

version: 一个整数,范围为1到40,表示二维码的大小(最小值是1,是个12×12的矩阵),如果想让程序自动生成,将值设置为 None 并使用 fit=True 参数即可。 error_correction: 二维码的纠错范围,可以选择4个常量:

  1. ERROR_CORRECT_L 7%以下的错误会被纠正
  2. ERROR_CORRECT_M (default) 15%以下的错误会被纠正
  3. ERROR_CORRECT_Q 25 %以下的错误会被纠正
  4. ERROR_CORRECT_H. 30%以下的错误会被纠正

boxsize: 每个点(方块)中的像素个数 border: 二维码距图像外围边框距离,默认为4,而且相关规定最小为4

运行效果:

image.png

制作一个带头像的

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import qrcode
from PIL import Image

text = 'https://www.jianshu.com/u/3a1e20d421df'
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
qr.add_data(text)
qr.make(fit=True)

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

# 添加logo,打开logo照片
icon = Image.open('touxiang.jpg')
# 获取图片的宽高
img_w, img_h = img.size
# 参数设置logo的大小
factor = 6
size_w = int(img_w / factor)
size_h = int(img_h / factor)
icon_w, icon_h = icon.size
if icon_w > size_w:
    icon_w = size_w
if icon_h > size_h:
    icon_h = size_h
# 重新设置logo的尺寸
icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
# 得到画图的x,y坐标,居中显示
w = int((img_w - icon_w) / 2)
h = int((img_h - icon_h) / 2)
# 贴logo照
img.paste(icon, (w, h), mask=None)
    
# img.save(fpath)
img.show()

运行结果:

image.png

参考

用Python的qrcode包来生成二维码很简单 python 生成二维码并添加头像

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • qrcode库
  • 简单使用
  • 更多控制使用
    • 参数说明
    • 制作一个带头像的
    • 参考
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档