manim边学边做--MarkupText

news/2024/11/17 19:05:09/文章来源:https://www.cnblogs.com/wang_yb/p/18294000

manim中主要有3个用于显示文本内容的对象,前两篇已经介绍过TextParagraph
本篇介绍最后一个MarkupText,与前两个不同的是,MarkupText的文本中支持实用一些HTML的语法,
因此,它的表现力更胜前两个。
image.png
MarkupTextmanim各个模块中的位置大致如上图中所示。

1. 主要参数

MarkupText除了支持在文本中使用HTML语法,也提供了丰富了参数。

参数名称 类型 说明
text str 显示的文本
font str 字体
warn_missing_font bool 字体缺失时是否警告提示
fill_opacity float 透明度
stroke_width float 字体线条粗细
color str 颜色
line_spacing float 行间距(多行文本时生效)
slant str 斜体
weight float 粗体
gradient tuple 渐变色
justify bool 是否对齐
should_center bool 是否居中
height float 文本高度
width float 文本宽度

其中大部分的参数和Text是一样的。

2. 使用示例

MarkupText的参数和Text基本上是差不多的,这里就不再演示参数的使用了,
感兴趣可以参考:【manim边做边学--Text】。

这里将演示如何通过在文本中加入HTML元素的方式来得到不同的显示效果。

2.1. 样式

所谓文本样式,也是word或者富文本编辑器工具栏上提供的一些功能,比如粗体,斜体等等。
MarkupText还可以设置上标和下标,这是TextParagraph做不到的。

# 加粗
MarkupText("<b>Hello Manim</b>")# 斜体
MarkupText("<i>Hello Manim</i>")# 上标
MarkupText("Manim教程<sup>说明</sup>")# 下标
MarkupText("Manim教程<sub>附件</sub>")

out.gif

2.2. 字体

设置字体可以使用font属性,不过这里我们通过HTML语法来设置。

# 打印机字体
MarkupText("<tt>Hello Manim</tt>")# Hack字体
MarkupText('<span font_family="Hack">Hello Manim</span>')# STLiti 字体
MarkupText('<span font_family="STLiti">Hello Manim</span>')

out.gif

2.3. 颜色

通过HTML语法,除了可以设置颜色渐变色,还可以设置背景色

# 前景色
MarkupText('<span fgcolor="red">Hello Manim</span>')# 背景色
MarkupText('<span bgcolor="blue">Hello Manim</span>')# 渐变色
MarkupText('<gradient from="green" to="yellow">Hello Manim</gradient>')

out.gif

2.4. 划线

划线是无法通过属性设置来完成的,所以之前介绍的TextParagraph没有这个功能。

# 上划线
MarkupText('<span overline="single" overline_color="green">Hello Manim</span>')# 下划线
MarkupText('<span underline="single"underline_color="blue">Hello Manim</span>')# 双下划线
MarkupText('<span underline="double"underline_color="blue">Hello Manim</span>')# 删除线
MarkupText('<span strikethrough="true"strikethrough_color="red">Hello Manim</span>')# 波浪线
MarkupText('<span underline="error"underline_color="yellow">Hello Manim</span>')

out.gif

3. 附件

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/741716.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opc ua设备数据 转MQTT项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集OPC UA的数据 2 5 用MQTT协议转发数据 4 6 配置参数说明 4 7 上报内容配置 5 8 其他说明 8 9 案例总结 8 1 案例说明设置网关采集OPC UA设备数据 把采集的数据转成MQTT协议转发给其他系统。2 VFBOX网…

讲师招募 | Apache DolphinScheduler Meetup诚邀您共建开源!

随着Apache DolphinScheduler在全球范围内的快速发展,我们的用户群体和社区活动也在不断扩大。 为了进一步丰富我们的社区内容,分享更多有价值的知识和经验,我们诚挚地邀请您加入我们,成为Apache DolphinScheduler社区的分享嘉宾。 Meetup是什么? Apache DolphinScheduler…

Delta Sharing 连接测试

Power BI 方式: 下载地址: Power BI 客户端下载Url:下载 | Microsoft Power BI连接到 Databricks若要使用 Delta Sharing 连接器连接到 Azure Databricks,请执行以下操作:使用文本编辑器打开共享的凭据文件以检索终结点 URL 和令牌。打开 Power BI Desktop。 数据库连接;…

stm32时钟源

stm32时钟源 目录stm32时钟源MCU提供5种时钟源(1) HSE高速外部时钟(2) HSI高速内部时钟(3) LSE低速外部时钟(4) LSI低速内部时钟(5) PLL倍频锁相环定时器是挂载在总线下,而不同的总线的频率是不同的,而总线的频率是由时钟提供,而时钟的提供者又各不相同,所以必须要提前了解…

Easyadmin创建新的目录菜单步骤,Curd创建方法介绍

应用easyadmin创建文件目录,可以使用复制原有的目录,也可以使用CURD方法创建,一般为了防止复制后,修改出错或漏改,建议使用CURD方法,此方法不仅快捷方便,也因存在设计数据库,便于后面开发。 1.创建CURD命令行,创建数据表。 2.打开Composer,注意版本,此处使用php7.4,…

模块

模块1.第三方模块 Python内部提供的模块有限,所以在平时在开发的过程中,经常会使用第三方模块。 而第三方模块必须要先安装才能可以使用,使用第三方模块的行为就是去用别人写好并开源出来的py代码,这样自己拿来就用,不必重复造轮子了。 下面介绍常见的3种安装第三方模块的…

中国式报表不会做?用这款免费可视化工具3分钟搞定复杂报表

1. 什么是中国式报表? 中国式报表是一种中国独有的复杂报表,有格式复杂、计算复杂、数据来源复杂等特点,并且还有多样化的功能要求,例如图形、联动、回填等。因此许多国外报表工具在制作中国式报表方便表现得有些“水土不服”,那么我们该如何更加轻松地做出可靠、实用的报…

面试官:Java对象引用都有哪些类型?

面试连环call: 1. Java对象引用都有哪些类型? 2. Java参数传递是值传递还是引用传递? 为什么? 3. Java对象引用访问方式有哪些?哈喽,大家好🎉,我是世杰。 本文我为大家介绍面试官经常考察的「Java对象引用相关内容」照例在开头留一些面试考察内容~~ 面试连环callJava对…

机器学习策略篇:详解如何使用来自不同分布的数据,进行训练和测试(Training and testing on different distributions)

如何使用来自不同分布的数据,进行训练和测试 深度学习算法对训练数据的胃口很大,当收集到足够多带标签的数据构成训练集时,算法效果最好,这导致很多团队用尽一切办法收集数据,然后把它们堆到训练集里,让训练的数据量更大,即使有些数据,甚至是大部分数据都来自和开发集、…

Matebook14 2020款 更换固态(全流程)

Matebook14 2020款 更换固态全流程 因为工作的原因需要升级存储,我的老款的Matebook14只有512G。网络上的中文教程普遍比较古老。特此写下这篇笔记希望能帮助到有需要的朋友。 工具螺丝刀(四花00和六花T4) 新的固态硬盘 U盘(容量不小于1G) 移动硬盘(容量不能小于你的系统…

Linux安装JDK详细教程

Linux安装JDK详细教程(图文教程) 这里介绍两种方式:yum安装方式和手动安装1、yum安装 1.1 查看JDK版本,找到你想要安装的JDK版本,这里以 JDK1.8 为例 输入命令:yum -y list java*1.2 安装JDK1.8 输入命令:yum install -y java-1.8.0-openjdk.x86_64 没权限执行这行:sud…

mongodb数据库恢复

一、从备份中恢复 使用mongodump和mongorestore mongodump:MongoDB官方提供的备份工具,可以将MongoDB数据库中的数据导出为BSON格式的文件。通过该工具,可以备份整个数据库、指定的集合或查询的数据。 mongorestore:MongoDB官方提供的恢复工具,用于将mongodump导出的BSON文…