用 python 制作带 logo 的二维码这个功能以后可能会用得到,所以在这里做一个记录,顺便一起学习学习

需要安装两个第三方库

  • pip install qrcode
  • pip install pillow

编辑代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:Zfy  date:2021/7/6 17:43

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), Image.ANTIALIAS)
    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('qr.png', quality=100)


if __name__ == '__main__':
    create_qrcode('https://blog.csdn.net/weixin_51617086', 'logo.jpg')
    print('完成')

运行之前在目录先放一张名为logo.jpg的图片
url地址随便写一个自己想让扫出来的目标网站,我这里就用了自己博客的地址
最终效果,可以扫一下看一看
在这里插入图片描述

《Python Web开发从入门到实战》

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐