缠丝猫 发表于 2024-7-10 12:26:24

manim边学边做--MarkupText

manim中主要有3个用于显示文本内容的对象,前两篇已经先容过Text和Paragraph。
本篇先容最后一个MarkupText,与前两个不同的是,MarkupText的文本中支持实用一些HTML的语法,
因此,它的表现力更胜前两个。
https://img2024.cnblogs.com/blog/83005/202407/83005-20240710141403159-756405767.png
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做不到的。
# 加粗
MarkupText("<b>Hello Manim</b>")

# 斜体
MarkupText("<i>Hello Manim</i>")

# 上标
MarkupText("Manim教程<sup>说明</sup>")

# 下标
MarkupText("Manim教程<sub>附件</sub>")https://img2024.cnblogs.com/blog/83005/202407/83005-20240710141403213-2144454637.gif
2.2. 字体

设置字体可以利用font属性,不过这里我们通过HTML语法来设置。
# 打印机字体
MarkupText(
    "<tt>Hello Manim</tt>")

# Hack字体
MarkupText(
    '
      Hello Manim')

# STLiti 字体
MarkupText(
    '
      Hello Manim')https://img2024.cnblogs.com/blog/83005/202407/83005-20240710141403191-56209550.gif
2.3. 颜色

通过HTML语法,除了可以设置颜色和渐变色,还可以设置背景色。
# 前景色
MarkupText(
    'Hello Manim')

# 背景色
MarkupText(
    'Hello Manim')

# 渐变色
MarkupText(
    '<gradient from="green" to="yellow">
      Hello Manim</gradient>')https://img2024.cnblogs.com/blog/83005/202407/83005-20240710141403207-187840977.gif
2.4. 划线

划线是无法通过属性设置来完成的,以是之前先容的Text和Paragraph没有这个功能。
# 上划线
MarkupText(
    '
            Hello Manim')

# 下划线
MarkupText(
    '
            Hello Manim')

# 双下划线
MarkupText(
    '
            Hello Manim')

# 删除线
MarkupText(
    '
            Hello Manim')

# 波浪线
MarkupText(
    '
            Hello Manim')https://img2024.cnblogs.com/blog/83005/202407/83005-20240710141403232-895278100.gif
3. 附件

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: manim边学边做--MarkupText