二维码生成

二维码生成

定义

  • 二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。它能将数字、英文字母、汉字、日文字母、特殊符号(如空格,%,/ 等)、二进制等信息记录到一个正方形的图片中。
  • 在转换的过程中,离不开编码压缩方式。在许多种类的二维条码中,常用的码制有:Data Matrix,Maxi Code,Aztec,QR Code,Vericode,PDF417,Ultracode,Code 49,Code 16K等。
  • 二维码在现实生活中的应用越来与普遍,归功于 QR code 码制的流行。我们常说的二维码就是它,所以,二维码又被称为 QR code。
  • QR code 是一种矩阵式二维条码(又称棋盘式二维条码)。它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。

中国的“新四大发明”

  • 高铁、扫码支付、共享单车和网购。

qrcode

  • qrcode 运行在 Python 3 版本上,它可以玩出很多花样。例如能生成以下三种二维码图片:普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。它比较适合直接用于生成二维码图片的场景。

  • 安装 qrcode 库可以使用 pip 方式。但是该库依赖 pillow、numpy 和 imageio。因此,我们需要先安装依赖库,再安装 qrcode。最后的安装命令如下:

      pip install pillow
      pip install numpy
      pip install imageio
      pip install myqr
    

code

控制台

    # 普通二维码
    myqr https://github.com -c

    # 带图片的艺术二维码(黑白与彩色)
    myqr https://github.com -p github.jpg -c

    # 动态二维码(黑白与彩色)
    myqr https://github.com -p github.gif -c -con 1.5 -bri 1.6

调用

    # 普通二维码
    from MyQR import myqr
    myqr.run(words='http://www.baidu.com')

    # 带图片的艺术二维码(黑白与彩色)
    myqr.run(words='http://www.baidu.com', picture='test.png',colorized=True)

    # 动态二维码(黑白与彩色)
    myqr.run(words='http://www.baidu.com', picture='test.gif',colorized=True)

参数

    # 先导入myqr模块
    from MyQR import myqr

    myqr.run(
        words='http://www.baidu.com',
        # 扫描二维码后,显示的内容,或是跳转的链接
        version=5,  # 设置容错率
        level='H',  # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
        picture='test.gif',  # 图片所在目录,可以是动图
        colorized=False,  # 黑白(False)还是彩色(True)
        contrast=1.0,  # 用以调节图片的对比度,1.0 表示原始图片。默认为1.0。
        brightness=1.0,  # 用来调节图片的亮度,用法同上。
        save_name='test_qrcode2.gif',  # 控制输出文件名,格式可以是 .jpg, .png ,.bmp ,.gif
    )

    # 如果不设置这个save_name参数,并且也不想生成图片、动态二维码时,默认生成的图片名称为qrcode.png
    # 如果不设置这个save_name参数,并且加了picture参数,如test.gif,生成的即为test_qrcode.gif,如test.jpg,生成的即为test_qrcode.jpg
    # 报错:Wrong picture! Input a filename that exists and be tailed with one of {'.jpg', '.png', '.bmp', '.gif'}!
    # 解决方案:picture与save_name 设置一致

python-qrcode

  • python-qrcode 相比 qrcode 要稍微逊色一点。不过它也有自己的特色,它支持生成矢量图,而且比较适合在代码中生成二维码的场景。

  • 安装

      pip install qrcode
    

调用

    import qrcode
    img = qrcode.make('https://github.com')

自定义二维码

    import qrcode
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    qr.add_data('https://github.com')
    qr.make(fit=True)
    img = qr.make_image(fill_color="black", back_color="white")

参考

如何使用 Python 生成酷炫的二维码?
python利用myqr库生成二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值