使用的是qrcode库,在使用之前需要安装此库

pip install qrcode
网址
#python生成二维码
import qrcode
img=qrcode.make("http://baidu.com")
img.save("二维码.jpg")
文字
import qrcode 
jpg=qrcode.make("这只是一段文字")
jpg.save("文字.jpg")
设置颜色
import qrcode
"""
version :QR code 的版次,可以设置 1 ~ 40 的版次。
error_correction :容错率,可选 7%、15%、25%、30%,参数如下 :
qrcode.constants.ERROR_CORRECT_L :7%
qrcode.constants.ERROR_CORRECT_M :15%(预设)
qrcode.constants.ERROR_CORRECT_Q :25%
qrcode.constants.ERROR_CORRECT_H :30%
box_size :每个模块的像素个数。
border :边框区的厚度,预设是 4。
image_factory :图片格式,默认是 PIL。
mask_pattern :mask_pattern 参数是 0 ~ 7,如果省略会自行使用最适当的方法。
"""
qr = qrcode.QRCode(version=1,
                   error_correction=qrcode.constants.ERROR_CORRECT_M,
                   box_size=10,
                   border=4)
qr.add_data("测试文字")
#设置二维码颜色为蓝色,背景色为黄色
img=qr.make_image(fill_color='blue',back_color="yellow")
img.save("二维码.jpg")
img.show()

实现效果如下:

在这里插入图片描述

在二维码上添加一张图片
import qrcode
from PIL import Image
import matplotlib.pyplot as plt
 
 
def getQRcode(data, file_name):
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_H,
        box_size=5,
        border=4,
    )
 
    # 添加数据
    qr.add_data(data)
    # 填充数据
    qr.make(fit=True)
    # 生成图片
    img = qr.make_image(fill_color="green", back_color="white")
 
    # 添加logo,打开logo照片
    icon = Image.open("django.jpg")
    # 获取图片的宽高
    img_w, img_h = img.size
    # 参数设置logo的大小
    factor = 6
    size_w = int(img_w / factor)
    size_h = int(img_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
    # 重新设置logo的尺寸
    icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
    # 得到画图的x,y坐标,居中显示
    w = int((img_w - icon_w) / 2)
    h = int((img_h - icon_h) / 2)
    # 黏贴logo照
    img.paste(icon, (w, h), mask=None)
    # 终端显示图片
    plt.imshow(img)
    plt.show()
    # 保存img
    img.save(file_name)
    return img
 
 
if __name__ == '__main__':
    getQRcode("http://baidu.com", 'my.png')
实现效果

在这里插入图片描述

使用MyQR库生成动态二维码
## 安装
pip install myqr
#使用MyQR库生成动态二维码
from MyQR import myqr
#bg.gif为动态图
myqr.run(words='http://www.baidu.com',
         picture='bg.gif',
         save_name='qr1.gif',
         colorized=True)
实现效果

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐