SVGMobject

SVGMobject 通过第三方库 svgelements 解析输入的 SVG 文件,并生成一个 VMobject。由于其方法都比较内部, 主要是根据SVG的元素来生成点集,这里就不列出文档字符串了。

MK做了一个关于常用 SVGMobject 的的视频: 〔manim教程〕第四讲 SVG、图片与文字

SVGMobject

class manimlib.mobject.svg.svg_mobject.SVGMobject(file_name: str | None = None, **kwargs)

传入一个文件名指向输入的SVG文件

初始化样式,VMobject 的样式有以下

  • fill 填充样式

    • 颜色: fill_colorcolor

    • 不透明度: fill_opacity

  • stroke 线条样式

    • 颜色: stroke_colorcolor

    • 宽度: stroke_width

    • 不透明度: stroke_opacity

  • gloss 光泽

  • shadow 阴影

  • reflectiveness 反光度

其中, color, opacity, width 属性均可以为一个列表,在渲染时会按照列表对其进行补间

关于传入SVG

  • 使用相对于运行位置的相对路径,或使用绝对路径,或把图片放在 assets/svg_images 文件夹中

  • 和绘图相关的元素目前只支持 path, line, rect, circle, ellipse, polygon, polyline,不支持 text 等其他元素

  • 自己制作svg,推荐使用 Adobe Illustrator ,并直接选择存储为(不选导出)

VMobjectFromSVGPath

class manimlib.mobject.svg.svg_mobject.VMobjectFromSVGPath(path_obj: svgelements.svgelements.Path, **kwargs)

传入svg的path元素的字符串,得到一个由其生成的VMobject,即只处理path

初始化样式,VMobject 的样式有以下

  • fill 填充样式

    • 颜色: fill_colorcolor

    • 不透明度: fill_opacity

  • stroke 线条样式

    • 颜色: stroke_colorcolor

    • 宽度: stroke_width

    • 不透明度: stroke_opacity

  • gloss 光泽

  • shadow 阴影

  • reflectiveness 反光度

其中, color, opacity, width 属性均可以为一个列表,在渲染时会按照列表对其进行补间