利用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 相同
二维码分类介绍
二维码有以下几种分类
黑白和彩色码
-
黑白码
- 彩色码
-
融合和视觉码
-
融合码:就是将内容与二维码融合使它们成为一个整体,图片由二维码组成,二维码就是图片的一部分。这种比较适合使用构造简单的图片或者文字做美化主体内容
-
视觉码:以图片为背景,再在图片上构建很多特殊的点,这些点不会影响背景的视觉效果
-
-
艺术码
-
艺术二维码,就是将二维码进行的各个“码眼”按照设计师的构思进行分析、拆解、合并,再在那些“码眼”区域填充上一些小素材元素,最后形成一个别具特色二维码