SVGMobject

限定名称:manim.mobject.svg.svg\_mobject.SVGMobject

class SVGMobject(file_name=None, should_center=True, height=2, width=None, color=None, opacity=None, fill_color=None, fill_opacity=None, stroke_color=None, stroke_opacity=None, stroke_width=None, svg_default=None, path_string_config=None, use_svg_cache=True, **kwargs)[source]

基类:VMobject

从导入的SVG文件创建的矢量化mobject。

参数:
  • file_name (str | os.PathLike | None) – SVG文件的路径。

  • should_center (bool) – mobject导入后是否应居中。

  • height (float | None) – mobject的目标高度,默认为2个Manim单位。如果高度和宽度都设置为None,则mobject在导入时不进行缩放。

  • width (float | None) – mobject的目标宽度,默认为None。如果高度和宽度都设置为None,则mobject在导入时不进行缩放。

  • color (str | None) – mobject的颜色(包括填充色和描边色)。如果为None(默认值),则使用SVG文件中设置的颜色。

  • opacity (float | None) – mobject的不透明度(包括填充不透明度和描边不透明度)。如果为None(默认值),则使用SVG文件中设置的不透明度。

  • fill_color (str | None) – mobject的填充色。如果为None(默认值),则使用SVG文件中设置的填充色。

  • fill_opacity (float | None) – mobject的填充不透明度。如果为None(默认值),则使用SVG文件中设置的填充不透明度。

  • stroke_color (str | None) – mobject的描边色。如果为None(默认值),则使用SVG文件中设置的描边色。

  • stroke_opacity (float | None) – mobject的描边不透明度。如果为None(默认值),则使用SVG文件中设置的描边不透明度。

  • stroke_width (float | None) – mobject的描边宽度。如果为None(默认值),则使用SVG文件中设置的描边宽度值。

  • svg_default (dict | None) – 一个字典,其中定义了SVG文件中未指定元素属性的备用值。如果为None(默认值),则coloropacityfill_color fill_opacitystroke_colorstroke_opacity都设置为Nonestroke_width设置为0。

  • path_string_config (dict | None) – 一个字典,包含传递给VMobjectFromSVGPath用于导入路径元素的关键字参数。如果为None(默认值),则不传递额外参数。

  • use_svg_cache (bool) – 如果为True(默认值),SVG输入(例如文件名、设置)将用作键,并使用该键保存创建的mobject的副本,以便在以后需要处理相同输入时快速检索。对于仅使用一次的大型SVG,可以省略此选项以提高性能。

  • kwargs – 传递给父类的其他参数。

方法

应用样式到mobject

将SVG样式信息应用于转换后的mobject。

椭圆到mobject

将椭圆或圆形元素转换为矢量化mobject。

生成配置样式字典

生成一个包含默认样式信息的字典。

生成mobject

解析SVG并将其元素转换为子mobject。

获取文件路径

根据指定的文件名搜索现有文件。

从...获取mobject

将SVG的元素转换为mobject列表。

处理变换

将SVG变换应用于转换后的mobject。

初始化SVG mobject

检查SVG是否已导入,如果未导入则生成。

线到mobject

将线元素转换为矢量化mobject。

修改XML树

修改SVG元素树以包含默认样式信息。

移入位置

缩放并将生成的mobject移动到位置。

路径到mobject

将路径元素转换为矢量化mobject。

多边形到mobject

将多边形元素转换为矢量化mobject。

折线到mobject

将折线元素转换为矢量化mobject。

矩形到mobject

将矩形元素转换为矢量化mobject。

文本到mobject

将文本元素转换为矢量化mobject。

属性

animate (动画)

用于动画化 self 的任何方法的应用。

animation_overrides (动画覆盖)

颜色

depth (深度)

mobject 的深度。

fill_color (填充颜色)

如果存在多种颜色(用于渐变),则返回第一种颜色

哈希种子

代表生成的mobject点结果的唯一哈希值。

height (高度)

mobject 的高度。

n_points_per_curve (每条曲线的点数)

sheen_factor (光泽因子)

stroke_color (描边颜色)

width (宽度)

mobject 的宽度。

_original__init__(file_name=None, should_center=True, height=2, width=None, color=None, opacity=None, fill_color=None, fill_opacity=None, stroke_color=None, stroke_opacity=None, stroke_width=None, svg_default=None, path_string_config=None, use_svg_cache=True, **kwargs)

初始化自身。有关准确签名,请参阅 help(type(self))。

参数:
  • file_name (str | PathLike | None)

  • should_center (bool)

  • height (float | None)

  • width (float | None)

  • color (str | None)

  • opacity (float | None)

  • fill_color (str | None)

  • fill_opacity (float | None)

  • stroke_color (str | None)

  • stroke_opacity (float | None)

  • stroke_width (float | None)

  • svg_default (dict | None)

  • path_string_config (dict | None)

  • use_svg_cache (bool)

static apply_style_to_mobject(mob, shape)[source]

将SVG样式信息应用于转换后的mobject。

参数:
  • mob (VMobject) – 转换后的mobject。

  • shape (GraphicObject) – 已解析的SVG元素。

返回类型:

VMobject

static ellipse_to_mobject(ellipse)[source]

将椭圆或圆形元素转换为矢量化mobject。

参数:

ellipse (Ellipse | Circle) – 已解析的SVG椭圆或圆形。

返回类型:

generate_config_style_dict()[source]

生成一个包含默认样式信息的字典。

返回类型:

dict[str, str]

generate_mobject()[source]

解析SVG并将其元素转换为子mobject。

返回类型:

get_file_path()[source]

根据指定的文件名搜索现有文件。

返回类型:

Path

get_mobjects_from(svg)[source]

将SVG的元素转换为mobject列表。

参数:

svg (SVG) – 已解析的SVG文件。

返回类型:

list[VMobject]

static handle_transform(mob, matrix)[source]

将SVG变换应用于转换后的mobject。

参数:
  • mob (VMobject) – 转换后的mobject。

  • matrix (Matrix) – 从SVG变换确定的变换矩阵。

返回类型:

VMobject

property hash_seed: tuple

代表生成的mobject点结果的唯一哈希值。

用作SVG_HASH_TO_MOB_MAP缓存字典中的键。

init_svg_mobject(use_svg_cache)[source]

检查SVG是否已导入,如果未导入则生成。

参数:

use_svg_cache (bool)

返回类型:

static line_to_mobject(line)[source]

将线元素转换为矢量化mobject。

参数:

line (Line) – 已解析的SVG线。

返回类型:

线

modify_xml_tree(element_tree)[source]

修改SVG元素树以包含默认样式信息。

参数:

element_tree (ElementTree) – 从SVG文件解析的元素树。

返回类型:

ElementTree

move_into_position()[source]

缩放并将生成的mobject移动到位置。

返回类型:

path_to_mobject(path)[source]

将路径元素转换为矢量化mobject。

参数:

path (Path) – 已解析的SVG路径。

返回类型:

从SVG路径创建VMobject

static polygon_to_mobject(polygon)[source]

将多边形元素转换为矢量化mobject。

参数:

polygon (Polygon) – 已解析的SVG多边形。

返回类型:

多边形

polyline_to_mobject(polyline)[source]

将折线元素转换为矢量化mobject。

参数:

polyline (Polyline) – 已解析的SVG折线。

返回类型:

VMobject

static rect_to_mobject(rect)[source]

将矩形元素转换为矢量化mobject。

参数:

rect (Rect) – 已解析的SVG矩形。

返回类型:

矩形

static text_to_mobject(text)[source]

将文本元素转换为矢量化mobject。

警告

尚未实现。

参数:

text (Text) – 已解析的SVG文本。