Inkscape扩展脚本入门

本文介绍了如何创建Inkscape插件,包括需要的*.inx和*.py文件,以及插件目录路径。通过编写XML和Python代码,可以创建一个简单的HelloWorld插件,该插件会在文档中添加文本。用户需要了解Inkscape的扩展机制和脚本编写基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Inkscape官网

https://inkscape.org/

建议下载1.3版本

官方插件脚本文档

https://inkscape-extensions-guide.readthedocs.io/en/latest/index.html

但这个文档似乎和当前版本不符合,直接按照其内的方法写脚本会有问题

Inkscape插件加载目录

默认情况下,插件加载目录为

C:\User\用户名\AppData\Roaming\inkscape\extensions

也可以通过菜单、编辑、首选项、系统,设置这个目录

 插件脚本

一个完整的Inkscape插件需要两个文件:*.inx、*.py,并且将这两个文件放到上面的目录,若格式正确,就能被加载出来,显示到扩展菜单下

以下为最基本的Hello World插件示例

hello_world.inx

<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">

<!-- 1. Replace this with the title of your extension. This will Show in the extensions menu-->
<_name>Hello World</_name>

<!-- 2. Fill this in. It ensures that your extension has a unique ID -->
<id>yourname.yourorganization.title</id>

<!-- 3. Show the relative path to your extension. For example, `~/.config/inkscape/extensions/template.py` would be `template.py`-->
<dependency type="file" location="inx">hello_world.py</dependency>
<!-- <dependency type="executable" location="extensions">inkex.py</dependency> -->

<effect>
    <object-type>all</object-type>
    <effects-menu>

    <!-- 4. Where is your extension located? (You can nest menus) -->
    <submenu _name="submenu"/>

    </effects-menu>
</effect>
<script>

    <!-- 5. Same as #4 -->
    <command location="inx" interpreter="python">hello_world.py</command>

</script>
</inkscape-extension>

hello_world.py

#!/usr/bin/env python
# coding=utf-8

import inkex

from inkex.elements import TextElement

class Greet(inkex.GenerateExtension):

    def generate(self):
		# return inkex.errormsg(_("Hello"))
        textElement = TextElement()
        textElement.text = 'Hello World'
        return textElement

if __name__ == '__main__':
    Greet().run()

若格式正确,加载之后就能在看到菜单、扩展、Hello World

执行后能看到文档内被新建一个文本

参考文档

https://pdfroom.com/books/inkscape-guide-to-a-vector-drawing-program-4th-edition/eKRd6xyo2Zp/download

https://inkscape-extensions-guide.readthedocs.io/en/latest/index.html

https://inkscape.org/forums/beyond/cannot-import-inkex/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值