【问题标题】:Loading and modifying svg within Inkscape plugin在 Inkscape 插件中加载和修改 svg
【发布时间】:2014-09-03 13:11:56
【问题描述】:

我目前正在使用 Python 编写一个 Inkscape 插件。在这个插件中,我想从插件文件夹中加载一个模板(一个现有的 svg),并通过名称或键访问这个模板中的一些对象。然后我想更改对象的边框和/或填充颜色并向其添加一些文本。我将如何使用inkscape的python脚本界面来做到这一点?我只找到了一些关于如何为 inkscape 编写插件的示例(见下文),但它们都适用于现有的、已打开的文档。

  1. http://www.hoboes.com/Mimsy/hacks/write-inkscape-extension-create-multiple-duplicates/
  2. http://wiki.inkscape.org/wiki/index.php/Script_extensions
  3. http://ospublish.constantvzw.org/blog/tools/inkscape-plugins-in-python
  4. http://wiki.inkscape.org/wiki/index.php/Generating_objects_from_extensions
  5. http://wiki.inkscape.org/wiki/index.php/PythonEffectTutorial

【问题讨论】:

    标签: python plugins inkscape


    【解决方案1】:

    你能用lxml吗?

    t = etree.parse("path/test.xml")
    

    你也可以

    1. 直接操作t 的属性——这可以从python 中完成,而无需实际打开inkscape。你的树可以用t.write("filename") 保存
    2. 使用self.document.getroot().append(t)t添加到当前打开的文档中

    另外,这不是您所要求的,但可能会派上用场:一个 inkscape 插件,可让您在 Inkscape 中编写简短的 python sn-ps:http://www.smanohar.com/inkscape.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 2013-01-10
      • 1970-01-01
      • 2011-11-11
      相关资源
      最近更新 更多