Text¶
MarkupText
与 MarkupText
使用 ManimPango
来生成文字的 svg ,所以它不需要 LaTeX
环境,而且可以方便地更改字体,但是不能够书写公式。该类继承自 StringMobject
,
因而支持 TransformMatchingStrings
动画。
关于 Pango 提供的若干 markup 标签,详情参阅 Pango Markup
MarkupText
提供的参数有:
is_markup: bool = True
: 决定是否解析 Pango markup 标签。Text
类中该参数默认为False
。font_size: float = 48
: 全局字号。lsh: float | None = None
: 行间距倍数,line_spacing_height
的缩写。默认状态下视作0.6
。justify: bool = False
: 决定是否调整空格宽度使得段落左右侧同时对齐。indent: int = 0
: 段首缩排。alignment: "LEFT" | "CENTER" | "RIGHT" = "LEFT"
: 段落对齐方向。line_width: float | None = None
: 段落宽度,即自动折行宽度,使用 manim 长度单位。默认状态下不折行。font: str = ""
: 全局字体。slant: str = "NORMAL"
: 全局倾斜样式。weight: str = "NORMAL"
: 全局字重样式。gradient: Iterable[ManimColor] | None = None
: 全局渐变色。t2c: dict[Selector, ManimColor] = {}
: 局部颜色,text2color
的缩写。t2f: dict[Selector, ManimColor] = {}
: 局部字体,text2font
的缩写。t2s: dict[Selector, ManimColor] = {}
: 局部倾斜样式,text2slant
的缩写。t2w: dict[Selector, ManimColor] = {}
: 局部字重样式,text2weight
的缩写。global_config: dict[str, str] = {}
: 其它全局设置。local_configs: dict[Selector, dict[str, str]] = {}
: 其它局部设置。isolate: Selector = (re.compile(r"[a-zA-Z]+"), re.compile(r"\S+"))
: 预指定子串。base_color: ManimColor = WHITE
: 全局颜色。
该类指定子串的可选方式有(Selector
类型可参阅 StringMobject
):
isolate
参数(Selector
类型);t2c, t2f, t2s, t2w, local_configs
字典的键(Selector
类型);Pango markup 标签内部的内容(
Text
不支持这种方式)。
一些示例如下:
TextExample¶
from manimlib.imports import *
class TextExample(Scene):
def construct(self):
text = Text('Hello, world!')
self.add(text)
TextSlice¶
from manimlib.imports import *
class TextSlice(Scene):
def construct(self):
text = Text(
'Google',
t2c={
(None,1):'#3174f0', (1,2):'#e53125',
(2,3):'#fbb003', (3,4):'#3174f0',
(4,5):'#269a43', (5,None):'#e53125',
}
# 注:当前可能还有 bug,None 和数值不能比较
# 可暂时将这里的 None 改为 0 或字符串的长度
)
self.add(text)
TextUTF8¶
from manimlib.imports import *
script = '''
Hello
你好
こんにちは
안녕하세요
'''
class MultilingualTextExample(Scene):
def construct(self):
text = Text(script, font='Source Han Sans')
self.add(text)
MarkupText¶
-
class
manimlib.mobject.svg.text_mobject.
MarkupText
(text: str, **kwargs)¶ 初始化样式,VMobject 的样式有以下
fill
填充样式颜色:
fill_color
或color
不透明度:
fill_opacity
stroke
线条样式颜色:
stroke_color
或color
宽度:
stroke_width
不透明度:
stroke_opacity
gloss
光泽shadow
阴影reflectiveness
反光度
其中, color, opacity, width 属性均可以为一个列表,在渲染时会按照列表对其进行补间
-
get_part_by_text
(selector: Selector) → VGroup¶ select_part
的别名
-
get_parts_by_text
(selector: Selector) → VGroup¶ select_parts
的别名
-
set_color_by_text
(selector: Selector, color: ManimColor)¶ set_parts_color
的别名
-
set_color_by_text_to_color_map
(color_map: dict[Selector, ManimColor])¶ set_parts_color_by_dict
的别名
Text¶
-
class
manimlib.mobject.svg.text_mobject.
Text
(text: str, **kwargs)¶ 初始化样式,VMobject 的样式有以下
fill
填充样式颜色:
fill_color
或color
不透明度:
fill_opacity
stroke
线条样式颜色:
stroke_color
或color
宽度:
stroke_width
不透明度:
stroke_opacity
gloss
光泽shadow
阴影reflectiveness
反光度
其中, color, opacity, width 属性均可以为一个列表,在渲染时会按照列表对其进行补间
Code¶
-
class
manimlib.mobject.svg.text_mobject.
Code
(code: str, **kwargs)¶ 初始化样式,VMobject 的样式有以下
fill
填充样式颜色:
fill_color
或color
不透明度:
fill_opacity
stroke
线条样式颜色:
stroke_color
或color
宽度:
stroke_width
不透明度:
stroke_opacity
gloss
光泽shadow
阴影reflectiveness
反光度
其中, color, opacity, width 属性均可以为一个列表,在渲染时会按照列表对其进行补间