仅30行代码+1张图片,教你制作二维码!
本期走个简约风~
1
Python的qrcode库是一个专门用于生成二维码(Quick Response Code)图像的强大工具,它允许开发者在Python环境中快捷地创建不同内容、规格和样式的二维码。该库完全开源,并且可以在多个Python版本上稳定运行。
qrcode库的设计理念是简洁易用,通过简单的API接口,开发者可以轻松将任何文本信息(如URL、文本、邮箱地址等)编码为符合QR码标准的数据矩阵。通过调用qrcode.QRCode()函数,可以创建一个二维码对象,然后添加数据并选择纠错等级。之后,通过.make()方法,可以生成一个二维码图片。
此外,qrcode库还提供了高度定制化选项,比如自定义颜色、背景色、边距大小,甚至支持生成动态GIF格式的二维码。为了输出图像,qrcode依赖于Pillow库来处理图像文件,因此,在安装qrcode时,通常会使用pip同时安装其图像处理依赖项。
pip install qrcode[pil]
通过qrcode库生成的二维码不仅限于静态图片格式(如PNG、SVG等),还能灵活适应各种应用场景,例如嵌入到网页中、打印在宣传材料上或者用于移动支付等现代生活场景。
总之,Python的qrcode库作为一个功能全面且易于使用的二维码生成解决方案,极大地方便了开发者在项目中集成二维码生成的功能,从而实现信息快速传播与交换的需求。
2
接下来,和小编一起编写代码吧!
首先,打开Python的终端,输入以下命令安装qrcode库。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simpl qrcode[pil]
随后,准备1张图片+1个网址+30行代码即可。
图片
网址
30行代码
import qrcode
from PIL import Image
def create_qrcode(url, filename):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.ERROR_CORRECT_H,
box_size=10,
border=4,
)
qr.add_data(url)
qr.make(fit=True)
img = qr.make_image()
img = img.convert("RGBA") # 设置二维码为彩色
icon = Image.open(filename)
w, h = img.size
factor = 4
size_w = int(w / factor)
size_h = int(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
icon = icon.resize((icon_w, icon_h))
w = int((w - icon_w) / 2)
h = int((h - icon_h) / 2)
icon = icon.convert("RGBA")
newimg = Image.new("RGBA", (icon_w + 8, icon_h + 8), (255, 255, 255))
img.paste(newimg, (w-4, h-4), newimg)
img.paste(icon, (w, h), icon)
img.save('want595.png', quality=100)
create_qrcode("http://want595.blog.csdn.net", '595.jpg')
print('制作二维码完成!')
3
该程序定义了一个名为create_qrcode的函数,用于接收一个URL和一个图标文件名作为参数,目的是生成一个带有中心图标的彩色二维码,并将其保存为指定名称的PNG图片文件。以下是代码的详细分析。
-
首先,导入qrcode库来创建二维码,并从PIL库中导入Image模块以处理图像。
-
初始化一个qrcode对象。
-
使用.add_data(url)方法将输入的URL添加到二维码数据中。
-
调用.make(fit=True)方法,根据数据内容自动选择合适的二维码版本大小并生成二维码矩阵。
-
通过.make_image()方法将生成的二维码矩阵转化为一个可显示或保存的Image对象。
-
将二维码图片转换为RGBA模式,以便后续进行颜色处理和叠加图标。
-
打开指定的图标文件,并调整其大小以适应二维码中心区域。首先计算出缩小后的图标尺寸,并确保不超出二维码中心的区域。
-
创建一个新的透明背景Image对象,用于放置调整大小后的图标,并在二维码中心位置粘贴此图标。
-
最后,将包含图标的新二维码图片保存为“want595.png”,同时设置图像质量为100。
-
调用函数时传入了小编的CSDN博客网址作为二维码内容,以及一个名为“595.jpg”的图标文件,代码执行完毕后会输出“制作二维码完成!”的信息。
综上所述,这个Python代码实现了一个具有中心图标的高质量彩色二维码,并将最终结果保存成PNG格式的图片文件。
4
运行代码,生成二维码!
最后就可以查看生成的二维码啦
(二维码小编就不放出来咯)
5
喜欢本文的小伙伴可以给小编点个赞嘛!