Python中的Art模块

2025年1月5日 | 阅读 5 分钟

理解 Python 的 Art 库

这个库因在 Python 中创建 ASCII 艺术而闻名。它提供了各种用于绘制形状、文本甚至动画的函数。

在尝试库中的所有包之前,我们必须先安装 art 库。

文本到艺术的转换

使用指定的字体将文本转换为 ASCII 艺术,并忽略某些字符。

语法

text2art(text, font=None, chr_ignore=None, **kwargs)

请注意有关用于将输入文本转换为艺术性或装饰性文本的参数的以下信息:

  • Text (必需): 这是您想转换为艺术性或装饰性文本的输入文本或字符串。
  • Font (可选): 此参数允许您为艺术性文本指定特定的字体或样式。如果您不提供字体,该函数可能会使用默认字体或样式。
  • Chr_ignore (可选): 此参数允许您指定要从文本转换中排除的字符。这有助于防止某些字符出现在艺术渲染中。
  • **kwargs (可选,关键字参数): kwargs 前面的双星号 (**) 表示该函数接受额外的关键字参数。

基于 Python art 模块的一些示例

示例 1

让我们来看一个将文本转换为艺术的示例。

程序

输出

Art Module in Python

说明

我们通过提供文本作为输入来使用 text2art 函数。

示例 2

让我们来看一个使用语法中所有参数的另一个示例:

程序

输出

Art Module in Python

说明

在这个示例程序中,我们使用 text2art 函数通过指定字体为“block”来使用与默认字体不同的字体将文本转换为艺术。

示例 3

如果您想打印不同艺术形式的文本而不提及样式,可以使用 rand 来获得不同的文本艺术形式。

程序

输出

Art Module in Python
Art Module in Python

说明

在这里,我们使用 rand,每次运行程序 n 次时,都会获得 n 种不同的艺术样式。

示例 4

如果我们要打印多行文本,我们使用三引号来生成多行文本。

程序

输出

Art Module in Python

说明

在这里,我们使用三引号提到了多行文本,每行一个词。因此,我们生成了多行。

理解 art() 方法

art() 方法是将文本转换为艺术的另一种方法。这个工具与 text2art 类似,但它提供了对文本放置和对齐的更好控制。

语法

art(text, font=None, chr_ignore=None, **kwargs)

  • text: 任何要转换为艺术的文本。
  • font: font 采用字体类型,以特定形式将文本转换为艺术。
  • chr_ignore: ASCII 艺术生成过程中要忽略的字符列表。

基于 art() 方法的一些示例

让我们看看 art 方法如何将文本转换为艺术。

程序

1. 获取咖啡的艺术

输出

c[_]

2. 获取女性的艺术

输出

▓⚗_⚗▓

3. 获取男性的艺术

输出

ب_ب

4. 获取随机艺术

输出

>++('>
:-P
[E}

5. 获取 10 次男性的艺术

输出

ب_ب ب_ب ب_ب ب_ب ب_ب ب_ب ب_ب ب_ب ب_ب ب_ب

aprint() 方法的实现

此函数在正常模式下打印 1 行艺术(返回 None),并在异常情况下引发 artError。

程序

输出

òÓ
ۜ\(סּںסּَ` )/ۜ
(╯︵╰,)
n_n
:-)
(^▽^)
c[_]
▓⚗_⚗▓
\m/(-_-)\m/
~(__^>
n_n n_n n_n n_n n_n n_n n_n

tprint() 方法的实现

此函数在正常模式下打印 ASCII 文本(返回 None),并在异常情况下引发 artError。

程序

输出

Art Module in Python

程序

输出

Art Module in Python

程序

输出

随机字体 1

Art Module in Python

随机字体 2

Art Module in Python

随机字体 3

Art Module in Python

程序

输出

Art Module in Python

tsave() 方法的实现

tsave() 方法是 art 模块的一部分,它将转换后的文本保存为 ASCII 艺术图像文件。以下是如何使用它的说明:

语法

参数

  • text: 您想转换为 ASCII 艺术的文本。
  • font: 您想用于转换的字体名称。您可以使用 art.get_fonts() 查看可用字体。
  • filename: 您想保存 ASCII 艺术的文件名。
  • chr_ignore: (可选) 一个布尔标志,用于确定在转换过程中是否忽略文本中的无效字符。默认情况下,它设置为 False。

示例 1

输出

Art Module in Python
Saved! 
Filename: samplefile.txt
ASCII art saved to: samplefile.txt

说明

我们使用 tsave() 方法将带有字体的文本保存到所需文件中。

此代码将把文本“Hello, World!”转换为 ASCII 艺术,使用“rand-small”字体,并将其保存到文件“helloworld.txt”。

示例 2

让我们来看一个使用所有附加选项的示例程序。

输出

Art Module in Python
Saved! 
Filename: longer_text4.txt
Saved ASCII art to file: longer_text4

说明

此代码将把较长的文本“welcome to javatpoint”转换为 ASCII 艺术,使用“slant”字体,并将结果图像保存到名为“longer_text.png”的文件中。它还使用了设置为 True 的 chr_ignore 参数,这意味着字体无法显示的文本中的任何字符将被忽略,而不是回退到默认字符。

randart() 方法的实现

randart() 方法生成随机艺术。

程序

输出

Output 1: *:o)
Output 2: +:)
Output 3: @__

结论

ASCII 艺术库对于那些希望探索基于文本的艺术世界的人来说是一个有用的资源。其用户友好的界面、多功能性和活跃的社区使其成为初学者和爱好者的绝佳选择。但是,对于需要更高级视觉效果或无缝版本兼容性的项目,重要的是要考虑其在图形功能和兼容性问题方面的局限性。

选择 ASCII 艺术库取决于您的具体需求和优先事项。尽管如此,对于那些希望以可靠且用户友好的方式将他们的文本创作变为 ASCII 艺术的人来说,art 模块仍然是一个受欢迎且有效的选择。