Python生成带自定义信息和头像图片的二维码

直接上代码,有关二维码各种版本尺寸大小与信息容量以及容错相关的内容请自行搜索查阅。

from os import listdir
from os.path import splitext
import qrcode

from qrcode.constants import ERROR_CORRECT_H

from PIL import Image

def generateQRCode(data, imgFn):   

    qr = qrcode.QRCode(version=20,

                       error_correction=ERROR_CORRECT_H,

                       box_size=10, border=4)

    # 添加自定义文本信息
    qr.add_data(data)
    qr.make()
    # 创建二维码图片
    img = qr.make_image()
    imgW, imgH = img.size
    w1, h1 = map(lambda x: x//4, img.size)
    # 要粘贴的自定义图片,生成缩略图
    im = Image.open(imgFn)
    imW, imH = im.size
    w1 = w1 if w1<imW else imW
    h1 = h1 if h1<imH else imH
    im = im.resize((w1, h1))
    # 在二维码上中间位置粘贴自定义图片
    img.paste(im, ((imgW-w1)//2, (imgH-h1)//2))
    # 保存二维码图片
    img.save('qrCode.png')

generateQRCode('董付国 Python小屋', 'test.jpg')

代码中所用test.jpg图片如下:

生成的二维码图片如下:

使用微信扫描二维码的结果如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dongfuguo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值