欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

程序员文章站 2024-03-16 20:58:28
...

(给机器学习算法与Python学习加星标,提升AI技能)

选自towardsdatascience

作者:Arindom Bhattacharjee

编译:机器之心(almosthuman2014

参考链接:https://towardsdatascience.com/generate-qrcode-with-python-in-5-lines-42eda283f325

近日,一位热衷于终身学习的工程师兼摄影师 Arindom Bhattacharjee 撰写了一篇自定义生成二维码的方法,并且整个生成过程只需要 5 行 Python 代码即可完成。感兴趣的读者可以自己实现下。

5 行 Python 代码自定义生成二维码

二维码(QR Code)由白色背景上的黑色网格方块组成。由于它能存储更多信息,并且具有快速可读性,因此比条形码更受欢迎。

Python 提供了一个可以轻松实现这样的功能的 qrcode 包,首先就从下载 Python 包开始:

1pip install pillow
2pip install qrcode

然后创建一个存储之前文章页面链接(https://towardsdatascience.com/face-detection-in-10-lines-for-beginners-1787aa1d9127)的二维码,来看下实现过程有多简单:

 1import qrcode
 2
 3# Link for website
 4input_data = "https://towardsdatascience.com/face-detection-in-10-lines-for-beginners-1787aa1d9127"
 5
 6#Creating an instance of qrcode
 7qr = qrcode.QRCode(
 8        version=1,
 9        box_size=10,
10        border=5)
11
12qr.add_data(input_data)
13qr.make(fit=True)
14
15img = qr.make_image(fill= black , back_color= white )
16img.save( qrcode001.png )

这样,只需要简单的几步,就创建了可以链接到之前文章的二维码,如下所示:

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

通过微信扫一扫,就可以链接到之前的文章:

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

使用到的具体参数

在具体的实现过程中,以上代码中的 QRCode 函数需要以下参数:

  • version:定义了生成二维码的尺寸,它的取值范围是 1 到 40 的整数。该参数的值越大,生成的二维码图像就越大;

  • box_size:定义了每个像素块的大小;

  • border:定义了边框的厚度。比如,当它的值是 5,就意味着边框的厚度相当于 5 个小像素块;

add_data 方法用来传入输入文本,在本示例中即为之前文章的超链接。make(fit=True) 函数确保整个二维码都被用到,即使输入数据能用更少的像素块存储也是如此。

最后一步是将其转换为图像文件并存储。make_image 函数可以用来指定图像中的前景色和背景色。在此二维码中分别用了黑色和白色,但也可以根据个人喜好改变颜色。save 函数将图像存储为当前目录下的. png 文件。

生成二维码的 Python 库:qrcode

本文作者 5 行代码生成二维码的过程中基于了 qrcode 库,该库于在 2016 年 11 月由 GitHub 用户 sylnsfar 推出,目前已有 7.4k 的 star 量和 1.2k 的 fork 量。

GitHub 地址:https://github.com/sylnsfar/qrcode

该库在 Python 3 版本上运行,并且可以生成多种类型的二维码,如普通二维码、带图片的艺术二维码(黑白与彩色)和动态二维码(黑白与彩色)。它比较适合直接用于生成二维码图片的场景。

我们这里只看一下该库生成二维码的示例:

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

普通二维码

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

带图片的艺术二维码

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

动态二维码

想要了解具体安装方法和代码的读者可以参考 GitHub 项目主页。

程序员的乐趣,生成自定义二维码,5行Python代码就搞定

推荐阅读
《推荐算法工程师培养计划》

Python 3.9 正式版要来了,会有哪些新特性?

【四】零基础入门深度学习:卷积神经网络基础之池化和Relu

李宏毅机器学习完整笔记发布,AI界「最热视频博主」中文课程笔记全开源

反转!“阿里员工招小三进公司”造谣者公开道歉,阿里回应:我们不任人宰割编排

GitHub标星 7.7 万+的中文资源,新老司机各取所需