【manim动画教程】– 文本样式

yizhihongxing

文本的样式主要指颜色字体相关的属性设置。

对于manim的两个文本对象 TextTex来说,
Text对象有更多的属性可以调整样式,相对来说,由于 Tex主要用来显示数学公式,所以关于样式的属性要少一些。

下面介绍一些我在视频制作时最常用的一些颜色和字体相关的属性。

1. 颜色相关

颜色设置主要分为单色,渐变色两种,对于 Text对象,manim还提供了更加精细的按字符设置的属性。

1.1 单色

单色设置通过 color属性。

Text("hello world", color=RED)
Text("你好,世界", color=YELLOW)
Text("こんにちは世界", color=GREEN)
Tex(r"$a^2 + b^2 = c^2$", color=RED)
Tex(r"$E = mc^2$", color=YELLOW)
Tex(r"$e^{i\pi} + 1 = 0$", color=GREEN)

运行效果:
out01.gif

1.2 渐变色

渐变色设置通过 set_color_by_gradient方法。

Text("hello world").set_color_by_gradient((RED, GREEN))
Text("你好,世界").set_color_by_gradient((YELLOW, BLUE))
Text("こんにちは世界").set_color_by_gradient((BLUE, RED))
Tex(r"$a^2 + b^2 = c^2$").set_color_by_gradient((RED, GREEN))
Tex(r"$E = mc^2$").set_color_by_gradient((YELLOW, BLUE))
Tex(r"$e^{i\pi} + 1 = 0$").set_color_by_gradient((BLUE, RED))

运行效果:
out01.gif

1.3 按字符设置

如果一段文本中需要突出某些字符,可以用 t2c属性来设置特定字符的颜色。

Text("databook.top", t2c={"data": BLUE, "book": RED, "top": GREEN})

对于 Tex对象来说,虽然没有 t2c属性,也可以通过 set_color_by_tex方法来设置特定字符的颜色。

t = Tex(r"$a^2$", " + ", r"$b^2$", " = ", r"$c^2$")
t.set_color_by_tex("a^2", RED)
t.set_color_by_tex("b^2", YELLOW)
t.set_color_by_tex("c^2", GREEN)

运行效果:
out01.gif

2. 字体相关

manim可以直接使用系统中已有的字体,也可以设置字号,Text对象还可以设置粗体,斜体等等。

2.1 系统字体

manim通过 font属性设置字体。

Text("manim", font="Consolas")
Text("数学", font="STXingkai")  # 华文行楷
Text("之旅", font="STCaiyun")   # 华文彩云

运行效果:
out01.gif

2.2 字号

字号就是字体的大小,通过 font_size属性设置。

Text("manim", font_size=20)
Text("数", font_size=30)
Text("学", font_size=40)
Text("之", font_size=50)
Text("旅", font_size=60)

运行效果:
out01.gif

2.3 粗体

粗体通过 weight属性设置。

Text("NORMAL font weight")
Text("BOLD font weight", weight=BOLD)

运行效果:
out01.gif

2.4 斜体

斜体通过 slant属性设置。

Text("NORMAL font")
Text("ITALIC font", slant=ITALIC)

运行效果:
out01.gif

2.5 按字符设置

字体相关的属性也可以像颜色那样,按字符设置。相关的主要属性包括:

  1. t2f:按字符设置字体
  2. t2s:按字符设置斜体
  3. t2w:按字符设置粗体
Text(
    "manim 数学之旅",
    t2f={"数学": "STXingkai", "之旅": "STCaiyun"},
    t2s={"ma": ITALIC},
    t2w={"nim": BOLD},
)

运行效果:
out01.gif

3. 总结回顾

本篇主要介绍了文本的颜色和字体相关的设置,其中 Text提供了丰富的属性来设置文本的样式。
颜色相关的属性主要有:

  1. color:单色设置
  2. set_color_by_gradient:渐变色设置
  3. t2c:按字符设置颜色

字体相关的属性主要有:

  1. font:字体设置
  2. font_size:字号设置
  3. weight:粗体设置
  4. slant:斜体设置
  5. t2f:按字符设置字体
  6. t2s:按字符设置斜体
  7. t2w:按字符设置字体

文字说明和公式是制作数学视频时必不可少的部分,
通过设置其常用属性,让文字和公式在配合其他图形部分时,在色彩,大小等形式上保持一致性,更加美观的呈现最终的效果。

本文关联的微信视频号短视频:
manim-文本样式-视频号.png

原文链接:https://www.cnblogs.com/wang_yb/p/17294918.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【manim动画教程】– 文本样式 - Python技术站

(0)
上一篇 2023年4月18日
下一篇 2023年4月18日

相关文章

  • 创建奇数索引之和python

    【问题标题】:creating sum of odd indexes python创建奇数索引之和python 【发布时间】:2023-04-02 22:30:01 【问题描述】: 我正在尝试创建一个等于列表中所有其他数字之和的函数。例如,如果列表为 [0,1,2,3,4,5],则函数应等于 5+3+1。我怎么能这样做?我对 Python 的了解并没有比 w…

    Python开发 2023年4月8日
    00
  • Python按行读取文件的简单实现方法

    下面是Python按行读取文件的简单实现方法的完整攻略。 1. 背景 在Python中,我们经常需要从文件中读取数据。对于小型文件,我们可以将整个文件读入内存,然后进行操作。然而对于大型文件,比如几个G的日志文件,一次性读取可能会导致内存溢出,降低程序的性能。这时,我们需要按行读取文件,在每次读取一行后就进行相应的处理,以避免将整个文件读入内存。 2. 实现…

    python 2023年5月19日
    00
  • Python实现计算长方形面积(带参数函数demo)

    首先我们需要明确一下,Python是一门高级编程语言,它的语法简单易学,容易上手。在Python中,函数是一种非常重要的概念,函数可以让代码模块化,提高代码复用性。而“带参数函数”则是函数中的一种重要实现方式,在具体实现时,我们需要遵循以下步骤: 1. 定义函数 在Python中,定义函数需要使用def关键字,后面是函数名、参数列表和冒号。下面来看一个简单的…

    python 2023年6月3日
    00
  • 多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法

    在Python 2和Python 3共存的环境中,升级pip可能会导致pip2pip3和Python版本不匹配的问题。为了解决这个问题,可以采取以下步骤: 1. 确定Python 2和Python 3的pip路径 首先,在终端中输入以下命令,确定Python 2和Python 3的pip路径: pip2 -V pip3 -V 这会输出pip2和pip3的版本…

    python 2023年5月14日
    00
  • python机器学习基础K近邻算法详解KNN

    Python机器学习基础——K近邻算法详解KNN 1. K近邻算法简介 K近邻算法,简称KNN,是一种基本分类和回归算法,属于有监督学习算法。在分类问题中,KNN算法的工作原理是:给定一个未知样本,基于某种度量方式(如欧氏距离)与训练集中的所有样本相似度,选出K个与该样本最相似的训练样本,然后通过简单多数投票确定该样本属于哪一类。 2. KNN算法实现步骤 …

    python 2023年6月6日
    00
  • 使用Python下载歌词并嵌入歌曲文件中的实现代码

    我将细致讲解如何使用Python下载歌词并嵌入歌曲文件中的实现代码。该攻略包含以下步骤: 下载歌曲文件 下载歌词文件 解析歌词文件 将歌词嵌入歌曲文件 保存嵌入歌词的歌曲文件 步骤一 下载歌曲文件 我们可以使用Python的requests库来下载歌曲文件。代码示例: import requests url = ‘http://music.163.com/s…

    python 2023年6月3日
    00
  • 学习python的前途 python挣钱

    学习Python的前途和赚钱 如果你正在寻找一门能让你赚到钱的编程语言,那么Python将会是一个非常好的选择。Python是一门高级、面向对象、解释型编程语言,拥有很多强大的库和框架,可以轻松地构建机器学习、数据分析、Web开发、爬虫等应用。以下是学习Python的前途和赚钱的完整攻略。 1. 学习Python的前途 Python是一门非常热门的编程语言,…

    python 2023年6月6日
    00
  • python字典序问题实例

    下面我将为你详细讲解“Python字典序问题实例”的完整攻略。 什么是字典序? 字典序是字符串比较的一种方式,其规则如下: 比较每个字符串的第一个字符,如果不同则比较其ASCII码值的大小关系; 如果第一个字符相同,则继续比较下一个字符,直到所有字符都比较完为止; 如果一个字符串被比较完了,而另一个字符串还有未比较的部分,则未比较的部分比已比较的部分大。 P…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部