仅30行代码!教你用Python制作二维码

技术

仅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]
          
        

picture.image

随后,准备1张图片+1个网址+30行代码即可。

图片

picture.image

网址

picture.image

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图片文件。以下是代码的详细分析。

  1. 首先,导入qrcode库来创建二维码,并从PIL库中导入Image模块以处理图像。

  2. 初始化一个qrcode对象。

  3. 使用.add_data(url)方法将输入的URL添加到二维码数据中。

  4. 调用.make(fit=True)方法,根据数据内容自动选择合适的二维码版本大小并生成二维码矩阵。

  5. 通过.make_image()方法将生成的二维码矩阵转化为一个可显示或保存的Image对象。

  6. 将二维码图片转换为RGBA模式,以便后续进行颜色处理和叠加图标。

  7. 打开指定的图标文件,并调整其大小以适应二维码中心区域。首先计算出缩小后的图标尺寸,并确保不超出二维码中心的区域。

  8. 创建一个新的透明背景Image对象,用于放置调整大小后的图标,并在二维码中心位置粘贴此图标。

  9. 最后,将包含图标的新二维码图片保存为“want595.png”,同时设置图像质量为100。

  10. 调用函数时传入了小编的CSDN博客网址作为二维码内容,以及一个名为“595.jpg”的图标文件,代码执行完毕后会输出“制作二维码完成!”的信息。

综上所述,这个Python代码实现了一个具有中心图标的高质量彩色二维码,并将最终结果保存成PNG格式的图片文件。

4

运行代码,生成二维码!

picture.image

最后就可以查看生成的二维码啦

(二维码小编就不放出来咯)

5

喜欢本文的小伙伴可以给小编点个赞嘛!

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎音视频体验白皮书
火山引擎联合AMD发布了音视频体验白皮书,以抖音亿级日活用户实践和大规模场景落地经验,详细解读音视频体验评估指标和模型,分享火山引擎音视频实验室的评测方案和抖音在音视频体验优化上的典型策略、案例,助力企业优化用户体验,促进业务增长。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论