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

manim边学边做--MarkupText

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
manim中主要有3个用于显示文本内容的对象,前两篇已经介绍过Text和Paragraph。
本篇介绍最后一个MarkupText,与前两个不同的是,MarkupText的文本中支持实用一些HTML的语法,
因此,它的表现力更胜前两个。

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

MarkupText除了支持在文本中使用HTML语法,也提供了丰富了参数。
参数名称类型说明textstr显示的文本fontstr字体warn_missing_fontbool字体缺失时是否警告提示fill_opacityfloat透明度stroke_widthfloat字体线条粗细colorstr颜色line_spacingfloat行间距(多行文本时生效)slantstr斜体weightfloat粗体gradienttuple渐变色justifybool是否对齐should_centerbool是否居中heightfloat文本高度widthfloat文本宽度其中大部分的参数和Text是一样的。
2. 使用示例

MarkupText的参数和Text基本上是差不多的,这里就不再演示参数的使用了,
感兴趣可以参考:【manim边做边学--Text】。
这里将演示如何通过在文本中加入HTML元素的方式来得到不同的显示效果。
2.1. 样式

所谓文本样式,也是word或者富文本编辑器工具栏上提供的一些功能,比如粗体,斜体等等。
MarkupText还可以设置上标和下标,这是Text和Paragraph做不到的。
  1. # 加粗
  2. MarkupText("<b>Hello Manim</b>")
  3. # 斜体
  4. MarkupText("<i>Hello Manim</i>")
  5. # 上标
  6. MarkupText("Manim教程<sup>说明</sup>")
  7. # 下标
  8. MarkupText("Manim教程<sub>附件</sub>")
复制代码

2.2. 字体

设置字体可以使用font属性,不过这里我们通过HTML语法来设置。
  1. # 打印机字体
  2. MarkupText(
  3.     "<tt>Hello Manim</tt>")
  4. # Hack字体
  5. MarkupText(
  6.     '
  7.         Hello Manim')
  8. # STLiti 字体
  9. MarkupText(
  10.     '
  11.         Hello Manim')
复制代码

2.3. 颜色

通过HTML语法,除了可以设置颜色渐变色,还可以设置背景色
  1. # 前景色
  2. MarkupText(
  3.     'Hello Manim')
  4. # 背景色
  5. MarkupText(
  6.     'Hello Manim')
  7. # 渐变色
  8. MarkupText(
  9.     '<gradient from="green" to="yellow">
  10.         Hello Manim</gradient>')
复制代码

2.4. 划线

划线是无法通过属性设置来完成的,所以之前介绍的Text和Paragraph没有这个功能。
  1. # 上划线
  2. MarkupText(
  3.     '
  4.             Hello Manim')
  5. # 下划线
  6. MarkupText(
  7.     '
  8.             Hello Manim')
  9. # 双下划线
  10. MarkupText(
  11.     '
  12.             Hello Manim')
  13. # 删除线
  14. MarkupText(
  15.     '
  16.             Hello Manim')
  17. # 波浪线
  18. MarkupText(
  19.     '
  20.             Hello Manim')
复制代码

3. 附件

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

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

本帖子中包含更多资源

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

x

举报 回复 使用道具