利用python生成定制二维码

目录

  • 概述

  • 安装

  • 使用方法

  • 命令行方式

  • 普通二维码 * 艺术二维码 * 动态GIF二维码

    • 作为导入文件
  • 使用提示

  • 可用字符

  • MyQR 参数

  • 二维码分类介绍

概述

Python 二维码生成器

可生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。

安装

1# 通过 pip 2pip(3) install myqr(or MyQR) 3 4

使用方法

命令行方式

提示:如果你尚未安装 MyQR ,以下内容请使用python(3) myqr.py 而非myqr 。)

1# 概括 2myqr Words 3 [-v {1,2,3,...,40}] 4 [-l {L,M,Q,H}] 5 [-n output-filename] 6 [-d output-directory] 7 [-p picture_file] 8 [-c] 9 [-con contrast] 10 [-bri brightness] 11 12
  • 普通二维码 介绍了 Words, -v, -l, -n, -d
  • 艺术二维码 介绍了 -p, -c, -con, -bri
  • 动态GIF二维码 介绍了动态的生成方法和注意点

普通二维码

直接在终端命令行输入以下示例即可生成二维码图片。

1#1 Words 2myqr https://github.com 3 4
  • 在命令后输入链接或者句子作为参数,然后在程序的当前目录中产生相应的二维码图片文件,默认命名为” qrcode.png“。

1#2 -v, -l 2myqr https://github.com -v 10 -l Q 3 4
  • 默认边长是取决于你输入的信息的长度和使用的纠错等级;

默认纠错等级是最高级的H。

  • 自定义:如果想要控制边长和纠错水平就使用 -v 和 -l 参数。

-v 控制边长,范围是1至40,数字越大边长越大;

-l 控制纠错水平,范围是L、M、Q、H,从左到右依次升高。

1#3 -n, -d 2myqr https://github.com -n github_qr.jpg -d .../paths/ 3 4
  • 默认输出文件名是“ qrcode.png ",而默认存储位置是当前目录。

  • 自定义:可以自己定义输出名称和位置。注意同名文件会覆盖旧的。

-n 控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif ;

-d 控制位置。

艺术二维码

1#1 -p 2myqr https://github.com -p github.jpg 3 4
  • 参数-p 用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片。

1#2 -c 2myqr https://github.com -p github.jpg -c 3 4
  • 加上参数 -c 可以使产生的图片由黑白变为彩色的。

1#3 -con, -bri 2myqr https://github.com -p github.jpg [-c] -con 1.5 -bri 1.6 3 4
  • 参数-con 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
  • 参数 -bri 用来调节图片的亮度,其余用法和取值与 -con 相同。

动态GIF二维码

动态二维码与上述的带图片的二维码的生成方法没什么区别,你只要采用 .gif 格式的图片即可生成黑白或者彩色的动态二维码。但注意如果使用了 -n 参数自定义输出的二维码文件名,切记其格式也必须是 .gif 格式。

作为导入文件

1# 安装模块后 2from MyQR import myqr 3version, level, qr_name = myqr.run( 4 words, 5 version=1, 6 level='H', 7 picture=None, 8 colorized=False, 9 contrast=1.0, 10 brightness=1.0, 11 save_name=None, 12 save_dir=os.getcwd() 13 ) 14 15

以下各个参数已经在上文有所介绍

1# help(myqr) 2Positional parameter 3 words: str 4 5Optional parameters 6 version: int, from 1 to 40 7 level: str, just one of ('L','M','Q','H') 8 picutre: str, a filename of a image 9 colorized: bool 10 constrast: float 11 brightness: float 12 save_name: str, the output filename like 'example.png' 13 save_dir: str, the output directory 14 15

使用提示

  • 请采用正方形或近似正方形的图片

  • 建议在图片尺寸大的时候使用 -v 的值也应该适当变大。

  • 如果图片有透明无色部分,最终效果是:

你可以将透明部分修改成白色,最终效果会变成

可用字符

  • 数字 0 到 9

  • 大小写的英文字母

  • 常用英文标点符号和空格

1· , . : ; + - * / \ ~ ! @ # $ % ^ & ` ' = < > [ ] ( ) ? _ { } | and (space) 2 3

MyQR 参数

从官方文档整理的常用参数如下:

  • -n:生成二维码的名称
  • -p:二维码加入的图片,支持.jpg、.gif、.png、.bmp 格式
  • -c:选择是否生成彩色二维码,如果不设置默认为黑白
  • -v:控制边长,范围是 1 至 40,数字越大边长越大
  • -l:控制纠错水平,范围是 L、M、Q、H 从左到右依次升高
  • -d:控制输出二维码的存储位置
  • -con:用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为 1.0
  • -bri:用来调节图片的亮度,其余用法和取值与 -con 相同

二维码分类介绍

二维码有以下几种分类

黑白和彩色码

  • 黑白码

    • 彩色码
  • 融合和视觉码

  • 融合码:就是将内容与二维码融合使它们成为一个整体,图片由二维码组成,二维码就是图片的一部分。这种比较适合使用构造简单的图片或者文字做美化主体内容

    • 视觉码:以图片为背景,再在图片上构建很多特殊的点,这些点不会影响背景的视觉效果

  • 艺术码

  • 艺术二维码,就是将二维码进行的各个“码眼”按照设计师的构思进行分析、拆解、合并,再在那些“码眼”区域填充上一些小素材元素,最后形成一个别具特色二维码

代码交流 2021