python学习之生成一个二维码(一)

28 篇文章 0 订阅

首先,简单介绍一下二维码:二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
下面,就简单介绍一下,如何使用python,生成一个属于自己的二维码。
安装必要的包:

pip install qrcode
pip install PIL  #好像只支持到python2.7;python3以上是用另外的库代替了,也就是下面的
pip install pillow  #pil的派生分支,但比它更加活跃

备注一下:使用的python版本是python3.6.4
在这里插入图片描述
代码部分:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
u'''
Created on 2019年5月29日
@author: wuluo
'''
__author__ = 'wuluo'
__version__ = '1.0.0'
__company__ = u'重庆交大'
__updated__ = '2019-05-29'
import qrcode
from qrcode.constants import ERROR_CORRECT_H
from PIL import Image
def generateQRCode(data, imgFn):
    qr = qrcode.QRCode(version=20,
                       error_correction=ERROR_CORRECT_H,
                       box_size=3, border=2)
    # 添加自定义文本信息,
    qr.add_data(data)
    qr.make()
    # 创建二维码图片
    img = qr.make_image()
    imgW, imgH = img.size
    w1, h1 = map(lambda x: x // 4, img.size)
    # 要粘贴的自定义图片,生成缩略图
    im = Image.open(imgFn)
    imW, imH = im.size
    w1 = w1 if w1 < imW else imW
    h1 = h1 if h1 < imH else imH
    im = im.resize((w1, h1))
    # 在二维码上中间位置粘贴自定义图片
    img.paste(im, ((imgW - w1) // 2, (imgH - h1) // 2))
    # 保存二维码图片
    img.save('G:\\WangLuoRuanJian\\qrCode.jpg')  # 自己的存储路径
    # img.save('G:/WangLuoRuanJian/qrCode.jpg')
    img.show()
if __name__ == "__main__":
    generateQRCode(
        'https://blog.csdn.net/qq_43433255', 'G:\\WangLuoRuanJian\\wuluo.jpg')  # 前面是我的博客网址,后面是logo的路径

运行效果:
在这里插入图片描述
怎么说,效果不佳!推荐:https://blog.csdn.net/qq_43433255/article/details/90704944
最后,这里推荐一个快速生成二维码的网址:https://cli.im/text?cc7bf149d157f0ea3b6e0ed28b2045fb

  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值