翼度科技»论坛 编程开发 python 查看内容

manim边学边做--Text

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
与之前介绍的Tex,MathTex等等类不一样,本次介绍的是Text类,是专门用来显示纯文本的。
Text类虽然不能显示数学公式,却提供了更加丰富和方便的方式来展示文字内容。

Text在manim各个模块中的位置大致如上图中所示。
1. 主要参数

Text的参数比较多,方便我们用多种方式来展示文本。
其中,常用的参数有:
参数名称类型说明textstr文本内容fontstr字体warn_missing_fontbool字体缺失时是否警告提示fill_opacityfloat透明度stroke_widthfloat字体线条粗细colorstr颜色line_spacingfloat行间距(多行文本时生效)slantstr斜体weightfloat粗体t2cdict设置文本局部的颜色t2fdict设置文本局部的字体t2gdict设置文本局部的渐变色t2sdict设置文本局部的斜体t2wdict设置文本局部的粗体gradienttuple渐变色heightfloat文本高度widthfloat文本宽度2. 主要方法

Text的方法主要有两个:
名称说明font_list获取可用字体的列表init_colors初始化颜色,目前是空方法通过font_list方法,可以获取目前系统中可用字体的名称,这样设置上面font参数的时候,不容易出错。
  1. text = Text("")
  2. print(text.font_list())
复制代码

上面输出的是我系统中已安装的字体,不同的系统会有差别。
3. 使用示例

3.1. 字体相关设置

字体设置相关的参数主要有:font,font_size,warn_missing_font。
其中,主要使用的是font参数,font_size参数是设置字体大小的,
warn_missing_font参数是字体缺失时是否需要警告。
  1. # Hack 字体
  2. text = Text("Hello Manim", font="Hack")
  3. # STLiti 字体
  4. text = Text("Hello Manim", font="STLiti")
  5. # Harrington 字体
  6. text = Text("Hello Manim", font="Harrington")
复制代码

3.2. 显示样式设置

显示样式类似于一般富文本编辑器上面的加粗,斜体等等。
  1. # 粗体
  2. text = Text("Hello Manim", weight=BOLD)
  3. # 斜体
  4. text = Text("Hello Manim", slant=ITALIC)
  5. # 行间距
  6. text = Text("row1-Manim\nrow2-Manim",
  7.             line_spacing=2)
复制代码

3.3. 颜色相关设置

颜色有两种设置方式,一种是设置单一颜色,一种是设置渐变色。
  1. # 单一颜色
  2. text = Text("Hello Manim", color=RED)
  3. text = Text("Hello Manim", color=YELLOW)
  4. # 渐变色
  5. text = Text("Hello Manim1",
  6.             gradient=(RED, BLUE))
  7. text = Text("Hello Manim2",
  8.             gradient=(BLUE, GREEN))
复制代码

3.4. t2* 系列设置

前面介绍的示例中,使用的参数,都是针对整个文本有效的,
而t2* 类的几个参数提供了更加灵活的设置方式,可以设置一部分文本的样式。
  1. # 设置两种字体
  2. text = Text(
  3.     "Hello Manim",
  4.     t2f={
  5.         "Hello": "STLiti",
  6.         "Manim": "Harrington",
  7.     },
  8. )
  9. # 设置粗体和斜体
  10. text = Text(
  11.     "Hello Manim",
  12.     t2s={"Hello": ITALIC},
  13.     t2w={"Manim": BOLD},
  14. )
  15. # 设置两种颜色
  16. text = Text(
  17.     "Hello Manim",
  18.     t2c={
  19.         "Hello": RED,
  20.         "Manim": GREEN,
  21.     },
  22. )
  23. # 设置两种渐变色
  24. text = Text(
  25.     "Hello1 Manim2",
  26.     t2g={
  27.         "ello1": (RED, BLUE),
  28.         "anim2": (BLUE, GREEN),
  29.     },
  30. )
复制代码

3.5. 其他参数

还有其他几个参数用的不太多,比如:stroke_width,height,width。
stroke_width可以设置字体的粗细,但是没有weight参数直观;
height和width也可以设置字体大小,但是没有font_size参数直观。
4. 附录

文中完整的代码放在网盘中了(text.py),
下载地址: 完整代码 (访问密码: 6872)

来源:https://www.cnblogs.com/wang_yb/p/18284013
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具