zoukankan      html  css  js  c++  java
  • python-qrcode模块生成二维码

    安装    pip install qrcode   

    qrcode 依赖 Image 这个包:pip install Image  

    简单生成网页二维码:

    import qrcode
    
    img = qrcode.make('https://www.cnblogs.com/liming19680104/p/10291497.html')  #//调用qrcode的make()方法传入url
    with open('李明博客.png', 'wb') as f:   #写入文件
        img.save(f)

    效果图:

    自定制网页二维码:

    import qrcode
    
    data = 'https://www.cnblogs.com/liming19680104/p/10291497.html'  #网页地址
    
    # 实例化QRCode生成qr对象
    qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=4)
    '''
    参数1:version: 一个整数,范围为1到40,表示二维码的大小(最小值是1,是个12×12的矩阵),如果想让程序自动生成,将值设置为 None 并使用 fit=True 参数即可
    参数2:error_correction: 二维码的纠错范围,可以选择4个常量:
        1. ERROR_CORRECT_L 7%以下的错误会被纠正
        2. ERROR_CORRECT_M (default) 15%以下的错误会被纠正
        3. ERROR_CORRECT_Q 25 %以下的错误会被纠正
        4. ERROR_CORRECT_H. 30%以下的错误会被纠正
    参数3:box_size: 每个点(方块)中的像素个数
    参数4:border: 二维码距图像外围边框距离,默认为4,而且相关规定最小为4
    '''
    qr.add_data(data)   # 传入数据
    qr.make(fit=True)
    img = qr.make_image()   # 生成二维码
    img.save('李明博客.png')  # 保存二维码

    带头像(图片)的二维码:

    import qrcode
    from PIL import Image
    
    data = 'https://www.cnblogs.com/liming19680104/p/10291497.html'  #网页地址
    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")  # 生成图片
    #fill_color  填充色
    #back_color  背景色
    icon = Image.open("2013.jpg")   # 添加logo,打开logo照片
    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
    icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)  # 重新设置logo的尺寸
    
    # 得到画图的x,y坐标,居中显示
    w = int((img_w - icon_w) / 2)
    h = int((img_h - icon_h) / 2)
    img.paste(icon, (w, h), mask=None)  # 黏贴logo照
    img.save('李明博客.png')  # 保存img

    效果图:

  • 相关阅读:
    C#跨平台开源项目实战(WPF/Android/IOS/Blazor)
    WPF应用程序关闭模式(ShutdownMode)
    git修改提交记录的用户信息
    WPF摄像头使用(AForge)
    VisualStudio AppCenter 应用介绍
    EntityFrameworkCore 工具命令行总结
    FILEtoJPG-神秘文件 -更新(软件BUG及建议可以在这里反馈)
    开启网赚新方法:微信小号挂机-每天赚个早饭钱
    Android 7.0 以上保留数据去除锁屏密码的方法
    使用 GitHub+Hexo 搭建个人博客
  • 原文地址:https://www.cnblogs.com/liming19680104/p/12495820.html
Copyright © 2011-2022 走看看