首页 > 其他分享 >manim边学边做--MarkupText

manim边学边做--MarkupText

时间:2024-07-10 14:30:05浏览次数:11  
标签:float -- Text MarkupText 边学边 文本 Hello Manim

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)

标签:float,--,Text,MarkupText,边学边,文本,Hello,Manim
From: https://www.cnblogs.com/wang_yb/p/18294000

相关文章

  • 开放式耳机哪个佩戴最舒服?揭秘五大口碑品牌
    什么是开放式耳机呢?它有别于入耳式耳机,采用了开放式设计,不需要深入耳道,不容易压迫耳部,用户佩戴上开放式耳机后既可以享受动听的音乐,还可以保持对外部环境的感知,既保证了音乐体验,又能保证我们的安全。开放式耳机哪个佩戴最舒服?下面,我参考专业机构给出的测评报告,详细介绍一下几......
  • opc ua设备数据 转MQTT项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 准备工作 24 配置VFBOX网关采集OPCUA的数据 25 用MQTT协议转发数据 46 配置参数说明 47 上报内容配置 58 其他说明 89 案例总结 81 案例说明设置网关采集OPCUA设备数据把采集的数据转成MQTT协议转发给其他系统。2 VFBOX......
  • 【基于R语言群体遗传学】-15-溯祖理论coalescence
    在群体遗传学中,一个非常重要的概念是关注谱系的汇聚(遗传线索的汇合),当我们回溯过去几代人口时。在之前的博客中,我们几乎只处理了随时间推移基因变化的“正向”模拟。群体遗传学_tRNA做科研的博客-CSDN博客然而,通过时间逆向建模等位基因频率变化不仅是一个有趣的视角,当你知道......
  • 【基于R语言群体遗传学】-16-中性检验Tajima‘s D及连锁不平衡 linkage disequilibriu
    Tajima'sDTest已经开发了几种中性检验,用于识别模型假设的潜在偏差。在这里,我们将说明一种有影响力的中性检验,即Tajima'sD(Tajima1989)。Tajima'sD通过比较数据集中的两个......
  • CB利用链分析
    分析版本CommonsBeanutils1.9.4JDK8u65参考Shiro反序列化漏洞(三)-shiro无依赖利用链分析过程CommonsBeanutils是一个用于操作JAVABEAN的工具包。先看下基础使用publicclassPerson{//JAVABEANprivateStringname;privateintage;public......
  • 如何保护重要文件夹?文件夹保护方法盘点
    文件夹是管理电脑数据的重要工具,为了避免文件夹数据泄露,我们需要保护重要文件夹。下面我们就来盘点一下文件夹的保护方法。文件夹加密超级大师文件夹加密超级大师是一款专业的电脑数据保护软件,支持文件夹加密、文件夹伪装、万能锁等功能,可以为文件夹提供全方位的保护。文......
  • 群辉NAS同步Android手机日历日程
    目录一、安装套件二、手机导出日历日程三、NAS套件导入日历四、获得DAVx5登陆链接五、手机配置六、验证上一篇文章我们解决了Android手机与群辉NAS的通讯录的同步,这期我们说说如何同步Android手机的日历中的日程到群辉NAS。看过上篇文章的伙伴知道,Android需要通过第......
  • CC4利用链分析
    我的Github主页Java反序列化学习同步更新,有简单的利用链图分析版本CommonsCollections4.0JDK8u65环境配置参考JAVA安全初探(三):CC1链全分析分析过程在CommonsCollections4.0中,TransformingComparator类变为可序列化类,增加了一条攻击链。CC4在CC3的基础上,改变了......
  • AI绘画 | 如何利用SD垫图实现照片风格转换
    “小红书上有很多用AI做卡通头像的,大概思路是你拍一张个人照片发给博主,博主利用midjourney的垫图功能转换成卡通形象,一张收取一定费用……”看过之前文章的人都应该知道,midjourney是付费的软件,而且需要一定魔法上网能力。今天给大家分享,利用StableDiffusion(以下简称SD)的......
  • yarn的安装与配置(秒懂yarn用法)
    Yarn是一个快速、可靠且安全的包管理器,旨在替代npm以提高包的安装速度和一致性。以下是Yarn的安装与配置步骤:安装Yarn在不同操作系统上的安装方法:Ubuntu/Debian:sudoaptupdatesudoaptinstallyarnCentOS/RHEL:sudoyuminstallyarnmacOS(通过Homebre......