前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python生成自己的特色二维码

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

作者头像
星星在线
发布2020-05-22 14:59:33
5460
发布2020-05-22 14:59:33
举报

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

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

我是二维码

安装库 pip install qrcode pip install myqr

qrcode库使用

代码语言:javascript
复制
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库使用

代码语言:javascript
复制
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网站上使用

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python爬虫实战之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • qrcode库使用
  • myqr库使用
  • 在Django网站上使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档