• python 生成二维码


    1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库。

    首先,我们要安装三个模块,qrcode,image,PIL。

    pip install  qrcode

    pip install  image

    PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

    在Debian/Ubuntu Linux下直接通过apt安装:

    $ sudo apt-get install python-imaging

    Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好:

    $ sudo easy_install PIL

    如果安装失败,根据提示先把缺失的包(比如openjpeg)装上。

    Windows平台就去PIL官方网站下载exe安装包。

    2.简单用法

    import qrcode
    img = qrcode.make('simpleqrcode')
    img.save('D:/simpleqrcode.jpg')
    #img.show()

    3.高级用法

    复制代码
    import qrcode
    qr=qrcode.QRCode(version = 2,error_correction = qrcode.constants.ERROR_CORRECT_L,box_size=10,border=10,)
    qr.add_data('http://www.cnblogs.com/sfnz/')
    qr.make(fit=True)
    img = qr.make_image()
    img.show()
    #img.save('D:/test.jpg')
    复制代码

    4.带有logo图案的二维码

    复制代码
    from PIL import Image
    import qrcode
    
    qr = qrcode.QRCode(version=5,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=8,border=4)
    qr.add_data("http://www.cnblogs.com/sfnz/")
    qr.make(fit=True)
    
    
    img = qr.make_image()
    img = img.convert("RGBA")
    
    #logo="D:/favicon.jpg"
    icon = Image.open("D:/favicon.jpg")
    
    img_w,img_h = img.size
    factor = 4
    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)
    
    w = int((img_w - icon_w)/2)
    h = int((img_h - icon_h)/2)
    icon = icon.convert("RGBA")
    img.paste(icon,(w,h),icon)
    #img.show()
    img.save('D:/createlogo.jpg')
    复制代码

    参数含义:

    version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。
    error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
    ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
    ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
    ROR_CORRECT_H:大约30%或更少的错误能被纠正。
    box_size:控制二维码中每个小格子包含的像素数。
    border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)。
    img.save:是将生成二维码图片保存到哪里。

  • 相关阅读:
    数据类型及用法
    NFS与SSH
    nginx服务,nginx反向代理
    rpm软件包管理
    磁盘分区,文件系统,软链接和硬链接,内存和进程管理
    Linux常用命令,文件目录和权限管理
    操作系统与网络协议(day3)
    计算机基础之硬件简介(Day2)
    QT写串口
    485传输
  • 原文地址:https://www.cnblogs.com/howhy/p/7156067.html
Copyright © 2020-2023  润新知