• 使用Python生成自己的特色二维码


    二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

    如果我们在进行内容分享的时候,直接发给对方一个二维码或者在自己网站上展示二维码,是不是显得比较有逼格。下面我们就教大家怎么使用Python生成二维码并在网站上进行展示。

    我是二维码

    安装库
    pip install qrcode
    pip install myqr

    qrcode库使用

    def gen_qrcode(text):
        # 创建qrcode对象
        qr = qrcode.QRCode(
            version=2,
            error_correction=qrcode.constants.ERROR_CORRECT_Q,
            box_size=10,
            border=2,
        )
    
        qr.add_data(text)
    
        # 创建二维码图片
        img = qr.make_image()
    
        # 图片转换为RGBA格式
        img = img.convert('RGBA')
    
        # 返回二维码图片的大小
        img_w, img_h = img.size
    
        # 打开logo
        logo = Image.open(os.path.join(BASE_DIR, 'static/images/logo.jpeg'))
    
        # logo大小为二维码的四分之一
        logo_w = img_w // 4
        logo_h = img_w // 4
    
        # 修改logo图片大小
        logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
    
        # 把logo放置在二维码中间
        w = (img_w - logo_w) // 2
        h = (img_h - logo_h) // 2
    
        img.paste(logo, (w, h))
    
        qr_path = 'static/imgcard/%s.png' % time.time()
        img.save(os.path.join(BASE_DIR, qr_path))
    
        return qr_path
    

    参数含义:
    version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)
    error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
      ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
      ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
      ROR_CORRECT_H:大约30%或更少的错误能被纠正。
    box_size:控制二维码中每个小格子包含的像素数。
    border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)

    myqr库使用

    from MyQR import myqr
    myqr.run(
        words='http://www.baidu.com', # words中填写链接或者文本内容
        version=1,  # 控制二维码大小 1~40,建议不要超过5,否则生成时间太长
        level='H',  # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
        picture='background.gif',  # 背景图片,格式可以是.jpg, .png, .bmp, .gif
        colorized=True,  # 可以使产生的图片由黑白(False)变为彩色(True)的
        contrast=1.0,  # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。
        brightness=1.0,  # 用来调节图片的亮度
    )
    

    在Django网站上使用

    具体代码请关注微信公众号:Python爬虫实战之路,发送:qrcode,可以获取GitHub地址

    如果你觉得我的文章还可以,可以关注我的微信公众号,查看更多实战文章:Python爬虫实战之路
    也可以扫描下面二维码,添加我的微信公众号

    公众号

  • 相关阅读:
    学习CSS定位(布局)
    XSLT
    CSS模型框学习笔记
    XMLDOM复习
    XMLDOM之浏览器差异
    HTMLDOM入门
    学习二级纵向菜单两步走
    Xpath很全的学习地点,不看后悔
    LinQ To XML
    收集的一些零散代码
  • 原文地址:https://www.cnblogs.com/small-bud/p/12381887.html
Copyright © 2020-2023  润新知