Python 图像处理- 使用PIL模块生成二维码,底部添加文字并居中

代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import qrcode
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

def getQRcode(strs, name):
    qr = qrcode.QRCode( version=5, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=25, border=1, )
    # 添加数据
    qr.add_data(strs)
    # 填充数据
    qr.make(fit=True)
    # 生成图片
    img = qr.make_image()
    img = img.convert("CMYK")  # RGBA
    img = img.convert('RGB')
    img.save(name)
    return img
def info(name, body, word):
    getQRcode(body, name)
    oriImg = Image.open("baidu.png")
    oriImg2 = Image.open(name)
    oriImg2 = oriImg2.resize((720, 720))  # 设置二维码大小
    oriImg.paste(oriImg2, (0, 0))  # 将二维码放在底图上
    # width 为图片的宽, height为图片的高
    width, height = oriImg.size
    font_path = "C:\Windows\Fonts\msyhl.ttc"  # 一个字体文件
    font = ImageFont.truetype(font_path, 33)  # 设置字体和大小
    # 计算出要写入的文字占用的像素
    w, h = font.getsize(word)  #
    # 创建一个可以在给定图像上绘图的对象
    draw = ImageDraw.Draw(oriImg)
    draw.text(((width-w)/2, 756),word,  fill="red", font=font)  # 把字添加到图片上
    oriImg = oriImg.convert('RGB')
    oriImg.save(name)
if __name__ == '__main__':
    info("qrcode_result.png", "https://www.baidu.com/", "百度")

运行结果:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jyvan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值