方晓明 发表于 2023-4-7 12:32:12

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

文本的样式主要指颜色和字体相关的属性设置。
对于manim的两个文本对象 Text和 Tex来说,
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)运行效果:

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))运行效果:

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)运行效果:

2. 字体相关

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

manim通过 font属性设置字体。
Text("manim", font="Consolas")
Text("数学", font="STXingkai")# 华文行楷
Text("之旅", font="STCaiyun")   # 华文彩云运行效果:

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)运行效果:

2.3 粗体

粗体通过 weight属性设置。
Text("NORMAL font weight")
Text("BOLD font weight", weight=BOLD)运行效果:

2.4 斜体

斜体通过 slant属性设置。
Text("NORMAL font")
Text("ITALIC font", slant=ITALIC)运行效果:

2.5 按字符设置

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

[*]t2f:按字符设置字体
[*]t2s:按字符设置斜体
[*]t2w:按字符设置粗体
Text(
    "manim 数学之旅",
    t2f={"数学": "STXingkai", "之旅": "STCaiyun"},
    t2s={"ma": ITALIC},
    t2w={"nim": BOLD},
)运行效果:

3. 总结回顾

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

[*]color:单色设置
[*]set_color_by_gradient:渐变色设置
[*]t2c:按字符设置颜色
字体相关的属性主要有:

[*]font:字体设置
[*]font_size:字号设置
[*]weight:粗体设置
[*]slant:斜体设置
[*]t2f:按字符设置字体
[*]t2s:按字符设置斜体
[*]t2w:按字符设置字体
文字说明和公式是制作数学视频时必不可少的部分,
通过设置其常用属性,让文字和公式在配合其他图形部分时,在色彩,大小等形式上保持一致性,更加美观的呈现最终的效果。
本文关联的微信视频号短视频:


来源:https://www.cnblogs.com/wang_yb/p/17294918.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 【manim动画教程】-- 文本样式