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

manim边学边做--Text

时间:2024-07-04 15:59:23浏览次数:11  
标签:-- Text Hello 设置 text font 边学边 Manim

与之前介绍的TexMathTex等等类不一样,本次介绍的是Text类,是专门用来显示纯文本的。
Text类虽然不能显示数学公式,却提供了更加丰富和方便的方式来展示文字内容。
image.png
Textmanim各个模块中的位置大致如上图中所示。

1. 主要参数

Text的参数比较多,方便我们用多种方式来展示文本。
其中,常用的参数有:

参数名称 类型 说明
text str 文本内容
font str 字体
warn_missing_font bool 字体缺失时是否警告提示
fill_opacity float 透明度
stroke_width float 字体线条粗细
color str 颜色
line_spacing float 行间距(多行文本时生效)
slant str 斜体
weight float 粗体
t2c dict 设置文本局部的颜色
t2f dict 设置文本局部的字体
t2g dict 设置文本局部的渐变色
t2s dict 设置文本局部的斜体
t2w dict 设置文本局部的粗体
gradient tuple 渐变色
height float 文本高度
width float 文本宽度

2. 主要方法

Text的方法主要有两个:

名称 说明
font_list 获取可用字体的列表
init_colors 初始化颜色,目前是空方法

通过font_list方法,可以获取目前系统中可用字体的名称,这样设置上面font参数的时候,不容易出错。

text = Text("")
print(text.font_list())

image.png
上面输出的是我系统中已安装的字体,不同的系统会有差别。

3. 使用示例

3.1. 字体相关设置

字体设置相关的参数主要有:fontfont_sizewarn_missing_font
其中,主要使用的是font参数,font_size参数是设置字体大小的,
warn_missing_font参数是字体缺失时是否需要警告。

# Hack 字体
text = Text("Hello Manim", font="Hack")

# STLiti 字体
text = Text("Hello Manim", font="STLiti")

# Harrington 字体
text = Text("Hello Manim", font="Harrington")

out.gif

3.2. 显示样式设置

显示样式类似于一般富文本编辑器上面的加粗,斜体等等。

# 粗体
text = Text("Hello Manim", weight=BOLD)

# 斜体
text = Text("Hello Manim", slant=ITALIC)

# 行间距
text = Text("row1-Manim\nrow2-Manim", 
            line_spacing=2)

out.gif

3.3. 颜色相关设置

颜色有两种设置方式,一种是设置单一颜色,一种是设置渐变色。

# 单一颜色
text = Text("Hello Manim", color=RED)
text = Text("Hello Manim", color=YELLOW)

# 渐变色
text = Text("Hello Manim1", 
            gradient=(RED, BLUE))
text = Text("Hello Manim2", 
            gradient=(BLUE, GREEN))

out.gif

3.4. t2* 系列设置

前面介绍的示例中,使用的参数,都是针对整个文本有效的,
t2* 类的几个参数提供了更加灵活的设置方式,可以设置一部分文本的样式。

# 设置两种字体
text = Text(
    "Hello Manim",
    t2f={
        "Hello": "STLiti",
        "Manim": "Harrington",
    },
)

# 设置粗体和斜体
text = Text(
    "Hello Manim",
    t2s={"Hello": ITALIC},
    t2w={"Manim": BOLD},
)

# 设置两种颜色
text = Text(
    "Hello Manim",
    t2c={
        "Hello": RED,
        "Manim": GREEN,
    },
)

# 设置两种渐变色
text = Text(
    "Hello1 Manim2",
    t2g={
        "ello1": (RED, BLUE),
        "anim2": (BLUE, GREEN),
    },
)

out.gif

3.5. 其他参数

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

4. 附录

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

标签:--,Text,Hello,设置,text,font,边学边,Manim
From: https://www.cnblogs.com/wang_yb/p/18284013

相关文章

  • 为什么越来越多的IT青年转行网络安全?
    目前,我国互联网已经从爆发增长期进入平稳发展阶段,同时每年大量计算机相关专业的毕业生涌入就业市场,导致IT行业逐渐趋于饱和状态,甚至出现裁员现象,去年很多大厂都有裁员,不少程序员再就业成了难题。面对这样的就业环境,IT青年该如何规划未来的职业方向?这的确是一个需要认真思考的......
  • 为什么越来越多的IT青年转行网络安全?
    目前,我国互联网已经从爆发增长期进入平稳发展阶段,同时每年大量计算机相关专业的毕业生涌入就业市场,导致IT行业逐渐趋于饱和状态,甚至出现裁员现象,去年很多大厂都有裁员,不少程序员再就业成了难题。面对这样的就业环境,IT青年该如何规划未来的职业方向?这的确是一个需要认真思考的......
  • hadoop添加磁盘扩容
    磁盘准备定位新磁盘使用lsblk或者sudofdisk-l命令来查看系统上已连接的磁盘,并找到你想要挂载的新磁盘的设备名称,比如/dev/sda2。lsblksudofdisk-l格式化新磁盘假设新磁盘的设备名是/dev/sda2,使用以下命令将其格式化为ext4文件系统:sudomkfs.ext4/dev/sda2......
  • 第15届蓝桥杯Python青少组选拔赛(STEMA)2023年8月真题-附答案
    第15届蓝桥杯Python青少组选拔赛(STEMA)2023年8月真题题目总数:11总分数:400真题下载点我百度网盘......
  • bug:node-sass报错
    问题:淘宝的npm镜像源https://registry.npm.taobao.org到期,切换到了新镜像源,npmconfigsetregistryhttps://registry.npmmirror.com但是启动老某些老项目的时候,报了node-sass的问题,原因:通过排查发现,原来是有个.npmrc文件配置了老淘宝源 而且npm包管理器就算已经通过np......
  • html排版标签
    HTML排版标签标题标签标题使用<h1>至<h6>标签进行定义,都是双标签。<h1>定义最大的标题,<h6>定义最小的标题。属性align,属性值可以是:left、center、right。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname=&qu......
  • vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
    一、是什么权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源而前端权限归根结底是请求的发起权,请求的发起可能有下面两种形式触发页面加载触发页面上的按钮点击触发总的来说,所有的请求发起都触发自前端路由或视图所以我们可以从这两方面入......
  • 通过arcgis of Js 4.x 加载 高德地图
    关于如何加载高德地图,目前在网上找到的切片图片加载的高德地图主要是参考官方demo上的CustomTileLayer然后修改进行使用的具体代码如下:<!DOCTYPEhtml><html><head><metacharset="utf-8"><metaname="viewport"content="initial-scale=1,maximum-scale=1,u......
  • 深入理解线程与进程:从基础概念到实际应用
    1.什么是线程和进程?进程:进程是操作系统分配资源和调度的基本单位,它是一个正在运行的程序,每个进程都有独立的内存空间和系统资源。一个程序可以同时启动多个进程。线程:线程是进程中的一个执行单元,负责执行程序的代码。一个进程可以包含多个线程,这些线程共享进程的内存空间......
  • appium 使用
    referto: python+appium2~inspector工具使用及定位操作元素~_哔哩哔哩_bilibili1APPiumInspector可以查看Android应用的包名和activity打开APP,且处于启动页面 Q1noReset=True设置每次APP启动不重头初始化环境怎么实现呢 Q1那我们现在用的是appium1还是ap......