使用 Python 生成吸引人的二维码2025年3月17日 | 阅读 8 分钟 在本教程中,我们将学习如何使用 Python 代码生成精美的二维码。我们还将讨论更改二维码大小、格式化二维码边框、旋转以及创建动画二维码。 正如我们日常生活中所见,二维码有许多用途,而且它们也可以看起来很吸引人。在本教程中,您将了解如何使用 Python 为您的特定需求创建具有视觉吸引力的二维码。 最简单的二维码由白色背景上的黑色方块和点组成。它包含可以被任何智能手机或带有二维码扫描仪的设备解码的数据。与以水平线存储信息的普通条形码不同,二维码以二维方式存储数据,使其能够容纳一百倍以上的信息量。 过去,二维码主要是黑白的。然而,由于创意进步,二维码现在有各种形状、大小和颜色。如果您有兴趣了解如何设计不限于两种颜色,而是可以丰富多彩和艺术化的二维码,那么本教程正是您所寻找的。 使用 Python 生成基本二维码要生成基本二维码,我们需要安装 segno 库。我们可以使用以下命令进行安装。 安装库后,我们将创建一个 Python 文件并编写代码来生成二维码。 示例 - 输出 ![]() 在上面的代码片段中,我们编写了通过将消息“Hello, World”作为输入传递给 make_qr() 函数来对其进行编码的代码。此操作将向您的用户显示一条欢迎消息,并且还可能为他们提供在线搜索“Hello, World”的选择。 为了生成一个既可查看又可扫描的黑白二维码,我们首先需要对内容进行编码并将其存储为变量。之后,我们可以使用 .save() 方法将二维码保存为图像。以下是如何建立一个名为 qrcode 的变量来将消息“Hello, World”编码成黑白二维码对象的示例。随后,您将此二维码保存为 PNG 文件,并将其命名为 simple_qr.png。 `.save()` 方法执行将二维码转换为您选择的文件格式的任务,前提是所选格式受支持。在包含编码内容的变量上使用 `.save()` 时,必须指明文件名,其中可能包含可选的文件路径。在前面的示例中,二维码图像以“simple_qrcode.png”的形式保存在您运行代码的同一目录中,无需指定单独的文件路径。 完成此步骤后,它将生成一个黑白二维码,您可以在保存的文件中看到。 更改二维码大小在本节中,我们将学习更改二维码的大小。要修改二维码的尺寸,您可以在使用 .save() 方法时包含一个 scale 参数。此 scale 参数充当缩放因子,允许您调整二维码图像的宽度和高度。我们以上一个二维码作为参考。让我们了解以下示例。 示例 - 输出 ![]() 如我们所见,通过将 .save() 方法应用于您的二维码对象并设置 scale 参数为 5,可以调整您的模块大小。 格式化二维码边框为了提高二维码的扫描便利性,确保智能手机等设备可以轻松解读信息;Segno 在二维码周围包含了一个空白区域,称为“静区”。您还可以通过修改 .save () 方法中的“border”参数来调整此静区的大小。 您可以通过在 save() 方法中为 border 参数提供一个整数值来控制二维码周围的边距大小。默认的静区大小在每侧包含四个模块。您也可以完全移除静区,这可以通过在 `.save()` 方法中设置“border=0”来实现。在以下代码中,您将从二维码中移除边框。让我们了解以下示例。 示例 - 输出 解释 - 在上面的代码中,我们命名了 wide_border_qrcode.py,并在 save() 方法中将 border 参数的 border 值设置为 10。 由于二维码和静区都具有白色背景,您可能需要放大才能注意到二维码周围较宽的边距。理想情况下,您应该能够自定义背景或静区的颜色。在下一节中,您将了解如何使用 Python 生成更鲜艳多彩的二维码。这将允许您修改背景颜色、静区颜色以及数据模块颜色。 更改二维码颜色您可以创建您喜欢的颜色的二维码,您可以使用 .save() 方法中的可选参数为您的二维码添加更多颜色。在本节中,您将能够自定义背景颜色、静区颜色以及二维码的亮模块和暗模块。只需指定适当的关键字和您选择的颜色即可。您可以灵活地使用 RGB 格式、颜色名称甚至十六进制值 (#RRGGBB)。 例如,如果您想将背景颜色更改为浅蓝色,您可以在 .save() 方法中包含 light='lightblue'。 示例 - 输出 ![]() 在上面的 Python 代码中,我们命名为“colored_qrcode.py”,我们将 .save() 方法中的“light”参数配置为获得浅蓝色背景。此调整将默认的白色背景替换为柔和的浅蓝色背景。 您可以灵活地用 RGB 格式或十六进制值替换颜色名称。例如,如果您更喜欢使用 RGB 格式将背景设置为浅蓝色,您可以将“light='lightblue'”替换为“light=(173, 216, 230)”。或者,您可以使用十六进制值,例如“light='#ADD8E6'”来代替“light='lightblue'”。 您还可以选择自定义二维码中所有黑色模块的颜色。为此,只需将您喜欢的颜色值分配给 .save() 方法中的“dark”参数即可。让我们了解以下示例 - 示例 - 在这种情况下,静区可能不那么显眼,因为背景颜色是白色。事实上,您可能需要放大图像才能清楚地看到边距。您可以通过在 .save() 方法中指定您喜欢的颜色来修改背景颜色。 您可以通过更改静区的颜色来进一步自定义您的二维码图像。为此,您可以在 .save() 方法中引入一个 quiet_zone 参数。这是一个示例,说明如何增强“darkblue_qrcode.py”以将二维码周围区域的颜色从白色切换为栗色。 示例 - 输出 ![]() 要修改二维码中深色数据模块的颜色,您可以使用 .save() 方法中的“data_dark”参数提供您喜欢的颜色。例如,如果您想将深色数据模块的颜色转换为绿色,您可以创建一个名为 "green_datamodules_qrcode.py" 的 Python 脚本,并在 .save() 方法中插入 "data_dark=green"。 旋转二维码segno 模块允许您将二维码的方向更改为不同的角度,使其适用于各种用例。旋转二维码对于需要从非常规角度或方向扫描二维码的场景非常有用。 要生成具有更复杂图形增强功能的二维码,您需要安装必要的依赖项,特别是 qrcode-artistic 和 pillow。 安装这些库后,我们可以使用两个高级方法 - .to_pill() 和 .to_artistic() 来制作二维码 make_qr()。这将把二维码转换为 Pillow 图像。 示例 - 输出 ![]() 解释 - 要进行旋转,您需要在 .to_pil().rotate() 方法中指示旋转角度。需要记住的一点是,旋转方向是逆时针的。利用 .to_pil() 方法并在 .rotate() 方法中指定旋转角度,您编写了生成黑白二维码的代码,旋转了 45 度。最后,您对 qrcode_rotated 变量使用了 .save() 方法。 创建动画二维码在本节中,我们将学习如何通过将静态背景替换为动画图像(例如 GIF)来创建动画二维码。要生成以动画图像作为背景的二维码,首先创建一个名为 animated_qrcode.py 的 Python 文件。在以下示例中,我们创建了一个包含 Justine Bieber 歌曲“Baby”的 YouTube 链接的二维码对象。 示例 - 在上面的代码中,我们使用 make_qr() 函数创建了一个二维码对象。当用户扫描此二维码时,它将显示歌曲的 YouTube 链接。 为了使其动画化,我们将使用 urllib 库及其函数 urlopen()。让我们了解以下示例。 示例 - 最后一步是对您的二维码对象使用 `.to_artistic()` 方法。此操作将用动态背景替换固定背景。下面,您编写了生成 5x5 像素模块二维码的过程。 结论在本教程中,我们探讨了如何使用 Python 创建美观实用的二维码。二维码已成为我们日常生活中重要的一部分,使其具有视觉吸引力可以增强用户体验。 我们从基础开始,编码消息并生成黑白二维码。我们学习了如何使用 Segno 库调整它们的大小、控制静区甚至旋转它们。 接下来,我们探索了创建彩色二维码,让我们能够个性化背景、静区和模块颜色。我们讨论了使用颜色名称、RGB 格式和十六进制值来获得我们想要的外观。 下一主题如何绕过 GIL 进行并行处理 |
Paramiko 是一个基于 Python (3.4+, 2.7) 的 SSHv2 协议实现,提供客户端和服务器功能。它为无可争议的高级 SSH 库 Fabric 奠定了基础,我们建议您将其用于常见的客户端用例,例如运行远程 shell 命令或传输...
阅读9分钟
密码验证是验证密码是否满足某些要求的过程。这些要求可能因具体用例而异,但通常包括长度、复杂性和唯一性等。在Python中,有几种方法可以实现密码验证。这里有几种...
阅读 4 分钟
什么是参数?在 Python 或任何其他编程语言中,我们向某些函数传递一些变量或参数。在这种情况下,这些变量被称为函数的参数。在函数定义中,我们必须定义参数的类型和参数的数量,我们...
阅读 3 分钟
| 获取城市天气报告 在本教程中,我们将使用 Django 创建一个天气应用程序;此应用程序将显示所搜索城市的天气。这是一个简单的 Django 项目,可帮助初学者理解 Django 的基本概念。我们还将...
7 分钟阅读
在本文中,我们将讨论 Python win32 进程。我们还将逐一讨论其方法。基本上,Win32 进程是 Python 中的一个方法。此模块提供了扩展的 Win32 进程创建和管理功能。Create 方法创建进程对象(...
阅读9分钟
简介:在本文中,我们将讨论将变量传递给 Python 字典。Python 有各种内置数据结构,可以存储不同类型的数据。Python 字典是一种可以存储键值对数据的数据结构。从概念上讲,它就像一个映射....
阅读 3 分钟
构建一个组织目录中文件的 Python 程序的通用过程如下: 1. 识别目录 - 您必须找到要组织的源目录。请务必注意该目录中包含的文件。这些文件可以是...
7 分钟阅读
在下面的教程中,我们将了解如何混淆 Python 程序。我们将使用一个名为 pyarmor 的 Python 包进行混淆。我们有时可能会遇到这样一种情况,即由于某些原因,我们必须将代码直接交付给客户。但是,我们...
阅读 4 分钟
在本教程中,我们将学习 TOML,即 Tom 的显式最小语言。它是一种相对较新的配置文件格式,被 Python 社区广泛使用。我们将讨论 TOML 的语法,使用 tomli 和 tomllib 来解析 TOML 文档以及……
7 分钟阅读
什么是错误?在编程语言中,如果以无效的方式执行某些代码,程序的执行将停止并显示一条消息,此消息称为错误或异常。编程语言中存在某些类型的错误...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India