Amazing QR!一款 Python 二维码生成器!

大家好,我是 Java陈序员

如今在生活中,二维码随处可见。信息获取、网站跳转、结账支付……一扫二维码全部搞定。

今天,给大家介绍一款基于 Python 实现的二维码生成器!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

工具介绍

Amazing-QR —— Python 二维码生成器,支持生成普通二维码、带图片的艺术二维码(黑白与彩色)、动态二维码(黑白与彩色)

下面是官方生成的一些示例二维码:

工具安装

工具依赖 Python 3, 需要先安装好 Python 环境。

安装好 Python 环境后,使用 pip 一键安装:

pip install amzqr

安装成功后,执行如下命令:

amzqr -h

输出如下信息,说明安装成功:

usage: amzqr [-h]
             [-v {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40}]
             [-l {L,M,Q,H}] [-p PICTURE] [-c] [-con CONTRAST] [-bri BRIGHTNESS] [-n NAME] [-d DIRECTORY]
             Words

positional arguments:
  Words                 The words to produce you QR-code picture, like a URL or a sentence. Please read the README
                        file for the supported characters.

options:
  -h, --help            show this help message and exit
  -v {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40}, --version {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40}
                        The version means the length of a side of the QR-Code picture. From little size to large is 1
                        to 40.
  -l {L,M,Q,H}, --level {L,M,Q,H}
                        Use this argument to choose an Error-Correction-Level: L(Low), M(Medium) or Q(Quartile),
                        H(High). Otherwise, just use the default one: H
  -p PICTURE, --picture PICTURE
                        the picture e.g. example.jpg
  -c, --colorized       Produce a colorized QR-Code with your picture. Just works when there is a correct '-p' or '--
                        picture'.
  -con CONTRAST, --contrast CONTRAST
                        A floating point value controlling the enhancement of contrast. Factor 1.0 always returns a
                        copy of the original image, lower factors mean less color (brightness, contrast, etc), and
                        higher values more. There are no restrictions on this value. Default: 1.0
  -bri BRIGHTNESS, --brightness BRIGHTNESS
                        A floating point value controlling the enhancement of brightness. Factor 1.0 always returns a
                        copy of the original image, lower factors mean less color (brightness, contrast, etc), and
                        higher values more. There are no restrictions on this value. Default: 1.0
  -n NAME, --name NAME  The filename of output tailed with one of {'.jpg', '.png', '.bmp', '.gif'}. eg. exampl.png
  -d DIRECTORY, --directory DIRECTORY
                        The directory of output.

工具使用

Amazing-QR 安装好后,可以使用命令行方式生成普通二维码、艺术二维码、动态 Gif 二维码

参数说明

  • -v:控制边长,范围是 1 至 40,数字越大边长越大
  • -l:控制纠错水平,范围是 L、M、Q、H,从左到右依次升高
  • -p:用来将 QR 二维码图像与一张同目录下的图片相结合,产生一张黑白图片
  • -c:可以使产生的图片由黑白变为彩色的
  • -con:用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之,默认为 1.0
  • -bri:用来调节图片的亮度,其余用法和取值与 -con 相同
  • -n:控制文件名,格式可以是 .jpg、.png、.bmp、.gif
  • -d:控制二维码图片输出位置

生成普通二维码

1、在当前目录下生成一个普通二维码

在命令后输入链接,然后在当前目录中产生相应的二维码图片文件。

amzqr https://chencoding.top:8090

默认输出的二维码图片文件名为:qrcode.png

2、自定义边长和纠错等级

amzqr https://chencoding.top:8090 -v 10 -l Q

3、自定义生成二维码图片路径和文件名

amzqr https://chencoding.top:8090 -d E:\github -n codechen.jpg  

生成艺术二维码

1、与一张同目录下的图片相结合,产生一张黑白 QR 二维码图像

amzqr https://chencoding.top:8090 -p codechen.png

2、将产生的图片由黑白变为彩色

amzqr https://chencoding.top:8090 -p codechen.png -c

3、自定义调节图片的对比度和亮度

amzqr https://chencoding.top:8090 -p codechen.png -c -con 1.5 -bri 1.6

生成动态 Gif 二维码

动态二维码与上述的带图片的二维码的生成方法没什么区别,只需要采用 .gif 格式的图片生成二维码即可。

amzqr https://chencoding.top:8090 -p codechen.gif -c

注意:如果使用了 -n 参数自定义输出的文件名,切记其格式也必须是 .gif 格式。

以上就是 Amazing-QR 生成二维码的使用,个人觉得这是一款很不错的二维码生成器,上手也十分简单!快去安装体验吧~

项目地址:https://github.com/x-hw/amazing-qr

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


posted @ 2024-11-21 09:57  Java陈序员  阅读(0)  评论(0编辑  收藏  举报