Python用qrcode和PIL制作二维码并添加汉字(用Python在图片上添加汉字)

本文介绍了如何使用Python批量制作含有汉字的二维码,通过引入qrcode和PIL库,设置纠错级别、尺寸等参数,并添加文字到二维码上,实现自定义的二维码生成。程序详细步骤包括导入库、编写主程序和参数解释,最后展示了效果。
摘要由CSDN通过智能技术生成

前言

        由于项目需要批量的二维码,但是普通制作的二维码上面没有文字,难以区分不同的二维码,所以为了批量制作带汉字的二维码,所以自己查找找到了这个方法,写出来做个笔记。

使用步骤

1.引入库

import qrcode   # pip install qrcode 
from PIL import ImageFont, ImageDraw, Image # pip install qrcode PIL

2.程序

list_ = ["熊大", "熊二", "光头强", "肥波", "毛毛", "图图"]

for contain in list_:

    qr = qrcode.QRCode(version=2,
                       error_correction=qrcode.constants.ERROR_CORRECT_H,
                       )
    qr.add_data(contain)
    qr.make(fit=True)
    img = qr.make_image()
    img.save(f'{contain}(二维码).png')

    img = Image.open(f'{contain}(二维码).png')
    draw = ImageDraw.Draw(img)
    ttfront = ImageFont.truetype('msyh.ttc', 14)  # 字体文件msyh.ttc,需要查找下载
    content = contain
    draw.text((145, 300), content, font=ttfront)  # 文字位置,正文内容,文字RGB颜色,字体
    img.save(f'{contain}(二维码).png')
print(f'共{list_}张带字二维码绘制完成')

3.参数解释

1.version:控制二维码的大小,取值范围从1到40。取最小值1时,二维码大小为21*21。取值为 None (默认)或者使用fit=true参数(默认)时,二维码会自动调整大小(数值越大二维码越复杂)。
2.error_correction:控制二维码纠错级别。
        ERROR_CORRECT_L:大约7%或者更少的错误会被更正。
        ERROR_CORRECT_M:默认值,大约15%或者更少的错误会被更正。
        ERROR_CORRECT_Q:大约25%或者更少的错误会被更正。
        ERROR_CORRECT_H:大约30%或者更少的错误会被更正。
3.box_size:控制二维码中每个格子的像素数,默认为 10。
4.border:控制二维码四周留白包含的格子数,默认为4。
5.image_factory:选择生成图片的形式,默认为 PIL 图像。
6.mask_pattern:选择生成图片的的掩模。

4.效果展示


关于如何用Python识别二维码可以看我同专栏的下面这篇文章。

Python用opencv实现动态识别二维码,以及加强版Python GUI(图像用户界面编程)_"殇影的博客-CSDN博客Python用OpenCv实现动态识别二维码,以及加强版Python GUI(图像用户界面编程)。动态识别二维码信息,利用电脑摄像头动态扫描二维码,扫描视频中的二维码。QRCodeDetectorhttps://blog.csdn.net/weixin_45694843/article/details/128046847?spm=1001.2014.3001.5502

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

"Martix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值