Python生成个性二维码完整教程 - 从基础到高级技巧
- Python
- 2025-08-09
- 1549
Python生成个性二维码教程
学习使用Python创建带Logo、彩色渐变和自定义设计的二维码
为什么使用Python生成二维码?
Python提供了简单而强大的库来创建二维码,通过几行代码即可生成基本二维码,同时也能创建高度自定义的个性二维码。
简单易用
只需几行代码即可生成二维码
高度可定制
颜色、Logo、背景自由设计
批量生成
轻松创建大量二维码
自动化集成
可与Web应用、自动化脚本集成
准备工作
在开始之前,我们需要安装必要的Python库:
pip install qrcode[pil] pillow
安装的库包括:
- 1 qrcode - 核心二维码生成库
- 2 Pillow (PIL) - Python图像处理库
基本二维码生成
使用qrcode库生成一个基本二维码:
import qrcode
# 创建QRCode实例
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=4,
)
# 添加数据
qr.add_data("https://www.example.com")
qr.make(fit=True)
# 生成图像
img = qr.make_image(fill_color="black", back_color="white")
# 保存图像
img.save("basic_qrcode.png")
基本二维码示例
创建带Logo的二维码
在二维码中心添加Logo可以提升品牌识别度:
from PIL import Image
import qrcode
def create_qr_with_logo(data, logo_path, output_path):
# 创建基本二维码
qr = qrcode.QRCode(
error_correction=qrcode.constants.ERROR_CORRECT_H
)
qr.add_data(data)
qr.make()
# 生成二维码图像
qr_img = qr.make_image().convert('RGB')
# 打开Logo并调整大小
logo = Image.open(logo_path)
logo_size = min(qr_img.size) // 4
logo = logo.resize((logo_size, logo_size), Image.LANCZOS)
# 计算Logo位置(居中)
pos = ((qr_img.size[0] - logo.size[0]) // 2,
(qr_img.size[1] - logo.size[1]) // 2)
# 将Logo粘贴到二维码上
qr_img.paste(logo, pos)
# 保存结果
qr_img.save(output_path)
# 使用示例
create_qr_with_logo("https://www.example.com", "logo.png", "qr_with_logo.png")
带Logo的二维码
创建彩色渐变二维码
使用渐变效果让二维码更具吸引力:
from PIL import Image, ImageDraw
import qrcode
import numpy as np
def create_gradient_qr(data, colors, output_path):
# 创建基本二维码
qr = qrcode.QRCode(
error_correction=qrcode.constants.ERROR_CORRECT_H
)
qr.add_data(data)
qr.make()
# 获取二维码矩阵
matrix = qr.get_matrix()
size = len(matrix)
# 创建新图像
img_size = (size * 10, size * 10)
img = Image.new('RGB', img_size, 'white')
draw = ImageDraw.Draw(img)
# 创建渐变背景
for y in range(img_size[1]):
# 计算渐变颜色
ratio = y / img_size[1]
r = int(colors[0][0] * (1-ratio) + colors[1][0] * ratio)
g = int(colors[0][1] * (1-ratio) + colors[1][1] * ratio)
b = int(colors[0][2] * (1-ratio) + colors[1][2] * ratio)
draw.line([(0, y), (img_size[0], y)], fill=(r, g, b))
# 绘制二维码
box_size = img_size[0] // size
for y in range(size):
for x in range(size):
if matrix[y][x]:
draw.rectangle([
(x * box_size, y * box_size),
((x+1) * box_size, (y+1) * box_size)
], fill='black')
img.save(output_path)
# 使用示例:从蓝色渐变到紫色
create_gradient_qr("https://www.example.com",
[(30, 136, 229), (103, 58, 183)],
"gradient_qr.png")
渐变背景二维码
高级技巧与注意事项
错误纠正级别
二维码有四个错误纠正级别,级别越高,可恢复的数据越多:
- L - 可恢复约7%的数据
- M - 可恢复约15%的数据(默认)
- Q - 可恢复约25%的数据
- H - 可恢复约30%的数据(带Logo时推荐)
最佳实践
- 测试不同尺寸和颜色组合的扫描效果
- Logo不要超过二维码面积的30%
- 保持前景色和背景色有足够对比度
- 复杂设计二维码需在高纠错级别下测试
- 避免使用红色作为前景色(部分扫描器识别困难)
二维码应用场景
营销推广
在宣传材料、海报、商品包装上使用个性二维码,提升品牌形象和用户参与度。
电子票务
生成带有活动Logo和定制设计的电子票务二维码,提高票务安全性和美观度。
数字名片
创建包含联系信息的个性二维码名片,方便他人快速保存您的联系方式。
产品认证
为产品生成唯一认证二维码,结合品牌元素增强防伪功能。
开始创建您的个性二维码
Python的qrcode和PIL库提供了强大的工具来创建各种风格的二维码。从基础的黑白二维码到带有Logo和渐变背景的高级设计,您可以通过简单的代码实现专业效果。
本文由YinRuPian于2025-08-09发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://www.521pj.cn/20257746.html
发表评论