Hi!大家好呀!我是你们努力的喵哥!
如同我们现在的生活离不开互联网一样,我们在移动互联网中也离不开二维码。无论是社交还是支付,二维码都充当身份入口的作用。
为什么二维码如此流行?因为相较于条形码,二维码能表示更多的数据类型。同时,伴随手机硬件的发展,扫描二维码已经成为了很简单的操作,触手可及。
在社交场景中,我们经常需要出示二维码给他人。比如微信二维码、支付二维码。如果是企业,经常也会宣传中使用二维码。比如,扫码关注公众号、扫码报名等。
如此高频的使用二维码,但你有没有觉得二维码并不是那么好看?特别是我们要将二维码嵌入文章、宣传海报等载体中。二维码那黑黢黢的马赛克,总是格格不入。那么能不能做一个好看的二维码那?今天,喵哥就给大家推荐 QR-Code。
QR-Code 是一个二维码生成器。最大的特点是可以生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)。QR-Code 是基于 Python 语言实现的。在使用时,既可以使用命令行,也可以在程序中直接调用。当然,QR-Code 也提供了在线网站供大家直接使用。
安装
# 通过 pip
pip(3) install myqr(or MyQR)
使用
命令行方式
(提示:如果你尚未安装 MyQR ,以下内容请使用python(3) myqr.py 而非myqr 。)
# 概括
myqr Words
[-v {1,2,3,...,40}]
[-l {L,M,Q,H}]
[-n output-filename]
[-d output-directory]
[-p picture_file]
[-c]
[-con contrast]
[-bri brightness]
1.普通二维码
#1 Words
myqr https://github.com
在命令后输入链接或者句子作为参数,然后在程序的当前目录中产生相应的二维码图片文件,默认命名为” qrcode.png“。
#2 -v, -l
myqr https://github.com -v 10 -l Q
默认边长是取决于你输入的信息的长度和使用的纠错等级。
而默认纠错等级是最高级的H。
自定义:如果想要控制边长和纠错水平就使用 -v 和 -l 参数。
-v 控制边长,范围是1至40,数字越大边长越大。
-l 控制纠错水平,范围是L、M、Q、H,从左到右依次升高。
#3 -n, -d
myqr https://github.com -n github_qr.jpg -d .../paths/
默认输出文件名是“ qrcode.png ",而默认存储位置是当前目录。
自定义:可以自己定义输出名称和位置。注意同名文件会覆盖旧的。
-n 控制文件名,格式可以是 .jpg, .png ,.bmp ,.gif 。
-d 控制位置。
2.艺术二维码
#1 -p
myqr https://github.com -p github.jpg
参数-p 用来将QR二维码图像与一张同目录下的图片相结合,产生一张黑白图片。
#2 -c
myqr https://github.com -p github.jpg -c
加上参数 -c 可以使产生的图片由黑白变为彩色的。
#3 -con, -bri
myqr https://github.com -p github.jpg [-c] -con 1.5 -bri 1.6
参数-con 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0。
参数 -bri 用来调节图片的亮度,其余用法和取值与 -con 相同。
动态二维码与上述的带图片的二维码的生成方法没什么区别,你只要采用 .gif 格式的图片即可生成黑白或者彩色的动态二维码。但注意如果使用了 -n 参数自定义输出的文件名,切记其格式也必须是 .gif 格式。
作为导入文件
# 安装模块后
from MyQR import myqr
version, level, qr_name = myqr.run(
words,
version=1,
level='H',
picture=None,
colorized=False,
contrast=1.0,
brightness=1.0,
save_name=None,
save_dir=os.getcwd()
)
以下各个参数已经在上文有所介绍
# help(myqr)
Positional parameter
words: str
Optional parameters
version: int, from 1 to 40
level: str, just one of ('L','M','Q','H')
picutre: str, a filename of a image
colorized: bool
constrast: float
brightness: float
save_name: str, the output filename like 'example.png'
save_dir: str, the output directory
最后
QR-Code 的开发者 sylnsfar。项目是在四年前开发,并开源的。虽然,已经没维护了。但是,喵哥已经实践了,还是可以正常使用的。
QR-Code 在 Github 上已经收获了7.4k Star。包括喵哥在内,还是有很多个人开发者在自己的产品使用该项目。
项目地址:https://github.com/sylnsfar/qrcode
在线体验:https://www.qr-code-generator.com/a1/
再推荐两个其它语言可以使用的二维码生产器项目。
PHP(2.4k Star):https://github.com/endroid/qr-code
JS(8.8k Star):https://github.com/davidshimjs/qrcodejs

网友评论