精华内容
下载资源
问答
  • python qrcode生成二维码

    2020-05-05 14:22:59
    pip install qrcode 二、实现 1、生成本地图片 1、基本用法 import qrcode img = qrcode.make('hello, qrcode') img.save('test.png') 2、高级用法 import qrcode qr = qrcode.QRCode( version=1, error_...

    一、安装

    pip install qrcode
    

    二、实现

    1、生成本地图片

    1、基本用法

    import qrcode 
    img = qrcode.make('hello, qrcode')
    img.save('test.png')
    

    2、高级用法

    import qrcode 
    qr = qrcode.QRCode(     
        version=1,     
        error_correction=qrcode.constants.ERROR_CORRECT_L,     
        box_size=10,     
        border=4, 
    ) 
    qr.add_data('hello, qrcode') 
    qr.make(fit=True)  
    img = qr.make_image()
    img.save('123.png')
    

    参数含义:

    	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,是相关标准规定的最小值)
    

    2、生成二进制流

    import qrcode
    import io
    img = qrcode.make('http://www.fangcunwuzao.com/preview/?id=7190#')
    output_buffer = io.BytesIO()
    img.save(output_buffer, format='JPEG')
    binary_data = output_buffer.getvalue()
    print(binary_data)
    
    展开全文
  • 既然make()最开始是创建了一个QRCode对象,那么我们先来看下QRCode()中有什么: 那么我们可以看见有这里有6个参数:  1)version 表示二维码的版本号,一种有1~40个版本,最小是21*21,每增加一个版本会增加4...

    既然我们是要对二维码进行创建和解析,那我们就必须先来认识一下什么是二维码:
    二维码是一种在一维码基础上扩展出来的可读性条码,用黑白矩形图案表示二进制数据;那么问题又来了,一维码又是什么?下面我们经常会在包装袋上面看到的条形码:

    这就是一维码,我们可以看见它是由长度相同,粗细不同的线条构成,那么他是什么存储数据的呢?那我们就要找不同点,粗细是他们的变量,即用宽度存储数据,这是一维方案;
    二维码就是在一维码的基础上,长度和宽度都记录着数据,这就是上面说的在一维的基础上又增加一个维度;二维码还有一维码没有的定位点和容错机制,容错机制可以在没有辨别全部条码的时候正确还原条码上的信息,这样就能保证在条码有破损的时候还能够正确还原;
    二维码的种类有很多,这里就不赘述了,下面放出我博客的二维码来结束这一趴:

    那么我们接下来就来学习一下qrcode库的使用:

    1. 安装qrcode库和pillow库
      pip install pillow        # 因为这个库是qrcode的依赖库,用于处理图像
      pip install qrcode
    2. 接下来我们就来创建一个二维码:
      import qrcode        # 导入库
      
      img = qrcode.make('https://blog.csdn.net/u014663232')
      # 最后会返回一个qrcode.image.pil.PilImage对象,最后会返回一个二维码图片对象
      img.save('geeknuo_csdn.png')    # 调用save()方法将图片对象保存下来

      接下来我们通过原型来看下,它都做了些什么:

      我们可以看见make()方法在开始创建了一个QRCode对象,然后调用add_data()方法,将我们数据信息添加了进去,最后调用make_image()方法返回了图片对象;
      那么我们可以推出最终产生图片的地方肯定在make_image()里面,我们接下来看:
        1)首先检查数据有没有编译,如果没有编译,就需要先进行编译;
        2)image_factory我这边理解的是生成器,这边我们可以指定生成器,如果没有指定的话,这里就会使用PIL作为生成器,这就是为什么依赖pillow库的原因;
        3)最后就是生成图像并返回了,这里还涉及到了等等的参数,下面再详细说明;

    3. 那么上面已经生成了一个二维码,但是不得不说,非常的难看,而且尺寸什么的都是固定的,那么接下来我们就来对参数进行设置,定制我们想要的二维码:
      既然make()最开始是创建了一个QRCode对象,那么我们先来看下QRCode()中有什么:

      那么我们可以看见有这里有6个参数:
        1)version 表示二维码的版本号,一种有1~40个版本,最小是21*21,每增加一个版本会增加4个尺寸(注意:这里的尺寸并不是指生成图片的大小,而是二维码的长宽被分成了多少份)
        2)error_correction 指的是纠错容量,这就是为什么在二维码上面放张图片还可以被识别出来的原因,它一共有四个级别:
              ERROR_CORRECT_L:大约7%或更少的错误能被纠正
              ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正
              ERROR_CORRECT_Q:大约25%或更少的错误能被纠正
              ERROR_CORRECT_H:大约30%或更少的错误能被纠正
        3)box_size 指的是生成图片的像素,所以这里是定义大小的,我们可以看见上面,默认为10
        4)border 表示二维码边框的宽度,同样的,上面默认是4,也是最小值
        5)image_factory 的参数继承了qrcode.image.base.BaseImage类,其中可以选择的类保存在模板根目录的image文件夹下
             
        6)mask_pattern 选择生成图片的掩模,掩模这边一句两句说不清楚,可以自行百度,或者看后面的链接,我们来看下掩模的过程(图片来自:http://www.360doc.com/content/16/0919/08/9261962_591906164.shtml):
             
    4. 我们接下来就自定义属性参数来生成一个二维码:
      import qrcode
      
      qr = qrcode.QRCode(
          version=10,
          error_correction=qrcode.constants.ERROR_CORRECT_L,
          box_size=20,
          border=10
      )
      
      qr.add_data('https://blog.csdn.net/u014663232')    # 添加二维码数据 
      qr.make()    # 将数据编译成qrcode数组
      image = qr.make_image()    # 生成二维码图片
      image.save('geeknuo_csdn2.png')    # 保存二维码图片
    展开全文
  • 摘要: 详解 Python qrcode 二维码模块。 项目地址 https://github.com/lincolnloop/python-qrcode 声明 import qrcode 使用 QRCode 方法   参数解释 1、version:控制二维码的大小,取值范围从1...

    原文链接

    摘要: 详解 Python qrcode 二维码模块。

    项目地址

    https://github.com/lincolnloop/python-qrcode
    

    声明

    import
     qrcode
    

    使用

    QRCode 方法

     

    image

    参数解释

    1、version:控制二维码的大小,取值范围从1到40。取最小值1时,二维码大小为21*21。取值为 None (默认)或者使用fit=true参数(默认)时,二维码会自动调整大小。

    2、error_correction:控制二维码纠错级别。

    ERRORCORRECTL:大约7%或者更少的错误会被更正。
    ERRORCORRECTM:默认值,大约15%或者更少的错误会被更正。
    ERRORCORRECTQ:大约25%或者更少的错误会被更正。
    ERRORCORRECTH:大约30%或者更少的错误会被更正。
    3、box_size:控制二维码中每个格子的像素数,默认为 10。

    4、border:控制二维码四周留白包含的格子数,默认为4。

    5、image_factory:选择生成图片的形式,默认为 PIL 图像。

    6、mask_pattern:选择生成图片的的掩模。

    方法属性解释

    常用方法:

    1、add_data(str,optimize=20):添加要转换的文字到data参数;如果使用了optimize优化参数,数据将被拆分为多个块来进行优化,以找到一个长度至少为这个值的足够简洁的方式来生成二维码。设置为“0”以避免优化。

    2、make(fit=True):当fit参数为真或者没有给出version参数时,将会调用bestfit方法来找到适合数据的最小尺寸。如果没有设置maskpattern,将会调用bestmaskpattern方法来找到找到最有效的掩模图案。最后将这些数据传递给makeImpl方法来生成二维码。与qrcode本体的make方法不一样的是,这个方法没有任何返回值。

    3、makeimage(fillcolor=None, backcolor=None,imagefactory=None):创建二维码的图像并返回,默认为 PIL 图像。如果要让二维码有颜色,可以在这里设置。

    4、clear:清空数据

    5、get_matrix:返回二维码数组。

    6、print_ascii(out=None, tty=False, invert=False):这个方法就比较有趣了,可以用字符画的形式来输出二维码,但是扫的时候一般都扫不出来。

     

    image

    其中的invert参数是决定是否反转颜色的参数,默认为假,如果为真的话会这样:

     

    image

    其他方法:

    1、bestfit(start=self.version):找到适合数据所需的最小尺寸。

    2、bestmaskpattern():找到最有效的掩模图案。

    3、makeImpl(test, maskpattern):生成二维码的直接函数

    4、mapdata:(内部函数,无需了解)

    5、printtty(out=None):用TTY颜色输出二维码,如果没有给出out参数,会使用sys.stdout。

    6、setuppositionadjustpattern:(内部函数)

    7、setuppositionprobepattern:(内部函数)

    8、setuptimingpattern:(内部函数)

    9、setuptypeinfo:(内部函数)

    10、setuptypenumber:(内部函数)

    属性:

    1、border:

    2、boxsize:

    3、datacache:

    4、datalist:

    5、errorcorrection:

    6、imagefactory:

    7、maskpattern:

    8、modules:

    9、modules_count:

    10、version:

    生成 SVG 图像

    qrcode可以生成三种不同的svg图像,一种是用路径表示的svg,一种是用矩形集合表示的完整svg文件,还有一种是用矩形集合表示的svg片段。第一种用路径表示的svg其实就是矢量图,可以在图像放大的时候可以保持图片质量,而另外两种可能会在格子之间出现空隙。

    这三种分别对应了svg.py中的SvgPathImage、SvgImage和SvgFragmentImage类。在调用qrcode.make函数或者实例化QRCode时当作image_factory参数的值传入就可以了。

     

    image

    生成 PNG 图像

    执行命令安装pymaging相关模块:

     

    image

    然后给image_factor参数传入qrcode.image.pure.PymagingImage就可以生成PNG图片了。

     

    image

    这是作者推荐的方式,但是我个人认为,完全没有必要这么麻烦,直接用默认的 PIL 就可以获取 PNG 图片了,例子看下文。

    make 方法

    make方法实际上就是在内部调用了QRCode(要转换的文本).make_image(),最后(默认)返回了一个PIL图像对象。

    # 显示图片qrcode.make("hello world!").show()
    # 保存 PNG 图片qrcode.make("hello world!").save('hello.png')
    

    run_example 方法

    生成一个作者项目网站地址的二维码并显示出来。

    原文发布时间为:2018-07-24
    本文作者:以茄之名
    本文来自云栖社区合作伙伴“ Python中文社区”,了解相关信息可以关注“ Python中文社区

    展开全文
  • Python qrcode终端输出二维码

    千次阅读 2020-05-06 16:38:00
    在客户现场,有时候因为安全规定,服务器上的授权码license等文件无法下载,只能手打+check,带来的问题就是效率低、准确度不高。...python qrcode库,需要pip install,不过使用pyinstaller可以打包,简单写了...

    在客户现场,有时候因为安全规定,服务器上的授权码license等文件无法下载、复制,只能手打+check,带来的问题就是效率低、准确度不高。
    目前遇上的场景,都是一些小文件,考虑在终端输出二维码来解决。

    Qrencode,命令行工具,依赖libpng、 zlib,先tag一下。
    python qrcode库,需要pip install,不过使用pyinstaller可以打包,简单写了一版

    qr.py

    #!/usr/local/env python
    #!coding=utf-8
    
    import sys
    import qrcode
    
    
    class Qrcode(object):
    
        def __init__(self, invert_flag, print_flag, out_file):
            self.qr = qrcode.QRCode(version=None,
                                    error_correction=qrcode.constants.ERROR_CORRECT_L,
                                    box_size=1,
                                    border=2,)
    
            self.invert_flag = invert_flag
            self.print_flag = print_flag
            self.out_file = out_file
            self.count = 1
    
        def add_data(self, data):
            if len(data) > 0:
                self.qr.add_data(data)
    
        def print_png(self):
            if self.print_flag:
                self.qr.print_ascii(invert=self.invert_flag)
                self.qr.clear()
                
        def gen_qrcode(self):
            self.print_png()
    
    

    flag.py

    #!/usr/bin/python
    #!coding=utf-8
    
    
    import sys
    import argparse
    
    
    def get_flags(args):
        """
        Returns:
        args.input: string     return the path of your input file
        """
        parser = argparse.ArgumentParser(
            formatter_class=argparse.RawTextHelpFormatter)
    
        parser.add_argument("-p", "--p", dest="print_flag",
                            action="store_true", help="print qrcode image file")
        parser.add_argument("-o", "--o", dest="out_file", help="out file")
        parser.add_argument("-t", "--t", dest="input_text", help="Your input text")
        parser.add_argument("-f", "--f", dest="file", help="Your input file")
        parser.add_argument("-i", "--i", dest="invert_flag", action="store_false",
                            help="invert the ASCII characters (solid <-> transparent)")
        parser.add_argument("-d", "--d", dest="divide", type=int,
                            help="divides file into several png")
    
        args = parser.parse_args()
        return args
    

    main.py

    #!/usr/local/env python
    #!coding=utf-8
    
    import sys
    import fileinput
    
    # import qrcode
    from util.flag import *
    from util.qr import *
    
    if __name__ == "__main__":
        args = sys.argv[1:]
        params = get_flags(args)
        qr = Qrcode(invert_flag=params.invert_flag,
                    print_flag=params.print_flag, out_file=params.out_file)
    
        if params.input_text:
            qr.add_data(params.input_text)
            qr.gen_qrcode()
    
        elif params.file:
            count = 0
            # with open(params.file, 'r') as f:
            for line in fileinput.input(params.file):
                qr.add_data(line)
                count += 1
                if params.divide and count % params.divide == 0:
                    qr.gen_qrcode()
            if not params.divide or count % params.divide != 0:
                qr.gen_qrcode()
    

    测试了一下,ok,能输出
    在这里插入图片描述

    展开全文
  • python qrcode

    2019-08-09 21:36:17
    今天学到一个python很有用的库:qrcode 这是一个用来将字符串生成二维码的库 第0步:安装库: pip install qrcode 第1步:使用这个库 import qrcode mystr= "随意的字符串内容" mq = qrcode.make(data=mystr)...
  • 2、在python中输入 import qrcode img = qrcode.make('Some data here') 高级用法: 使用QRCode类 import qrcode qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, b
  • 需求生成这样的批量生成这样的二维码,用MyQR生成的不是很满意,没有去细研究MyQR,所以用qrcode 和PIL生成。(欢迎批评) # _*_ coding:utf-8 _*_ ''' 创建时间:2020-12-07 文件说明:生成个性的带背景图的...
  • Python qrcode模块(生成二维码)一、Qrcode类解释二、Qrcode类构造函数及参数含义1、version=None2、error_correction=constants.ERROR_CORRECT_M3、box_size=10,4、border=45、image_factory=None6、mask_pattern=...
  • python qrcode 库的使用

    千次阅读 2016-03-03 17:49:29
    python qrcode 库的使用首先要安装PIL图形处理库(安装方法:点击打开链接) qrcode的使用方法: 命令行生成二维码(二维码内容为Some text) qr "Some text" > test.png简单的python程序生成二维码 #!/usr/bin/env ...
  • Python QRCode终端 您可以通过Python在终端中绘制QR码: 安装依赖项 您需要安装以下这些: yum install -y python-devel zlib-devel libjpeg-turbo-devel pip install pillow qrcode 安装 可以通过pip安装: pip ...
  • python QRcode

    2019-06-18 17:02:00
    Python QRCode的使用: 官网:  https://pypi.org/project/qrcode/5.1/   安装命令: pip install qrcode -- 二维码必备 pip install Image -- 二维码依赖库 简单使用: # !/usr/bin/env ...
  • python通过qrcode生成二维码

    千次阅读 2020-01-20 17:08:41
    安装qrcode https://pypi.org/project/qrcode/ pip install qrcode 简单用法 import qrcode img = qrcode.make('https://blog.csdn.net/ternence_hsu') img.save('output.jpg') 效果: 复杂用法 import qrcode qr...
  • python-qrcode.zip

    2020-04-08 14:33:28
    Python QR Code image generator.The information encoded can be made up of any kind of data (e.g., binary, alphanumeric, or Kanji symbols)
  • 第一步:安装qrcode库(python3)pip install qrcode第二步:命令行生成二维码假设当前路径在 d:\practice,直接打开cmd输入以下命令# 查看qr命令帮助 d:\practice> qr --helpd:\practice> qr "hello python" > ...
  • 如下内容内容是关于python qrcode库生成二维码的内容,希望能对各位有所用。import qrcode img = qrcode.make('Some data here') 高级用法 ...
  • import qrcode # 导入二维码的库 # 二维码的内容 content = 'https://www.baidu.com' # 使用qrcode库中的QRcode模块 qr = qrcode.QRCode() # 给二维码添加数据 qr.add_data(content) # 生成二维码 qr.make(fit=...
  • 今天来用python做点好玩的事情 给自己生成一个个性二维码 比如你想和一个女生表白,就给以给他一个带有她照片的二维码,她肯定很好奇,用微信一扫,你懂得…… 好吧,我们先来看一下效果:
  • git 地址:https://github.com/lincolnloop/python-qrcode def demo(): img = qrcode.make("你今年要发财啊!!!") # 改变颜色 img = img.convert("RGBA") datas = img.getdata() newData = [] for item in ...
  • 利用qrcode可以非常方便生成二维码,网上介绍也很多了,但是如何计算二维码像素大小? qr = qrcode.QRCode( version=10, error_correction=qrcode.constants.ERROR_CORRECT_Q, box_size=8, border=4 ) ...
  • python 生成qrcode二维码

    万次阅读 2016-04-24 10:13:12
    QRCode具有存储的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。 具有可四个级别的纠错能力: L级:约可纠错7%的数据码字 M级:约可纠错15%的数据码字 Q级:约可纠错25%的数据码字 H级...
  • 关于如何在Python中使用qrcode,pillow生成二维码,包括解决一些常见问题。目标Python版本为Python3.4.
  • Py之qrcodePython包之qrcode的简介、安装、使用方法之详细攻略 目录 qrcode简介 qrcode的安装 qrcode的使用方法 qrcode简介 二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,072
精华内容 2,028
关键字:

pythonqrcode

python 订阅