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

    效果图:

  • 相关阅读:
    python txt文件数据转excel
    数字的可视化:python画图之散点图sactter函数详解
    Python使用matplotlib模块绘制多条折线图、散点图
    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence
    Python Requests post并将得到结果转换为json
    Python按行读取文件、写文件
    重装系统后,指纹识别无法使用
    MySQL的简单使用和JDBC示例
    resin后台输出中文乱码的解决办法!
    MySQL时间增加、字符串拼接
  • 原文地址:https://www.cnblogs.com/liming19680104/p/12495820.html
Copyright © 2011-2022 走看看