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个常量:
- ERROR_CORRECT_L 7%以下的错误会被纠正
- ERROR_CORRECT_M (default) 15%以下的错误会被纠正
- ERROR_CORRECT_Q 25 %以下的错误会被纠正
- 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 生成二维码并添加头像