我想编写一个Gimp-
Python插件,以便从当前图像导出所有SVG路径.这看起来很简单,但我坚持使用pdb调用,我可能无法正确调用程序,所以我需要你的帮助.
这是我的代码:
#!/usr/bin/env python
from gimpfu import *
def exportToSvg(img, layer) :
gimp.pdb.vectors_export_to_file(img,"C:/Users/Public/Documents/output.svg",0)
register(
"ExportToSvg",
"Export all SVG paths",
"Export all SVG paths from current image",
"My Name",
"My company",
"2015",
"/MyScripts/Export to svg",
"*",
[],
[],
exportToSvg)
main()
打开Gimp并加载图像后,当我点击我的插件时收到此错误:
调用«gimp-procedural-db-proc-info»时出错:
未找到程序«vectors-export-to-file»
当我在Gimp PDB中搜索时,我可以找到“gimp-vectors-export-to-file”,那么问题是什么?
我该如何调用此程序?
最佳答案 你几乎就在那里 – “pdb”模块只是在模块级别暴露了来自gimpfu import *所以,不需要做gimp.pdb.< procname> – 只是pdb.< procname> (虽然这会奏效).
但真正导致错误的是实际调用过程
gimp_vectors_export_to_file – 而不是vectors_export_to_file-
你应该把它称为:
pdb.gimp_vectors_export_to_file(img,"C:/Users/Public/Documents/output.svg",None)
另请注意,对于需要图像项的整数标识符的大多数PDB调用,您应该传递表示该项的适当Python对象.用于保存单个向量的“向量”对象是通过调用其他PDB函数获得的.要保存所有向量,而不是函数描述中列出的“0”,请传递None.
注意:您可以使用过滤器访问Python交互式控制台 – >> python->控制台 – 如果您首先以交互方式测试pdb调用和图像操作,则可以更轻松地编写这些插件和脚本的代码.
要在交互式控制台中获取对图像的引用,请键入:
img = gimp.image_list()[0]