错误:(:1)python fu命令行执行的参数数无效
我已将以下python脚本添加到/usr/lib/gimp/2.0/plug-ins文件夹中 返回 批处理命令遇到执行错误:错误:(:1)无效 python fu my的参数数(应为4,但 收到(2) 在Gimp的过程浏览器中确实有4个参数,但若过程是通过命令行运行的,那个么它不应该期望它们,对吗 我跟着火车走。错误:(:1)python fu命令行执行的参数数无效,python,gimp,python-fu,gimpfu,Python,Gimp,Python Fu,Gimpfu,我已将以下python脚本添加到/usr/lib/gimp/2.0/plug-ins文件夹中 返回 批处理命令遇到执行错误:错误:(:1)无效 python fu my的参数数(应为4,但 收到(2) 在Gimp的过程浏览器中确实有4个参数,但若过程是通过命令行运行的,那个么它不应该期望它们,对吗 我跟着火车走。 怎么了?您不应该将函数注册为插件,而应该直接调用它(scale(“logo.png”))。但是您的代码必须显式加载映像文件才能获得gimp.image对象。尝试暂时将imageNam
怎么了?您不应该将函数注册为插件,而应该直接调用它(
scale(“logo.png”)
)。但是您的代码必须显式加载映像文件才能获得gimp.image对象。尝试暂时将imageName
更改为*imageName
,这将收集提供给函数的所有参数,并且不会抱怨参数太多/太少。然后你可以把它们打印出来,看看到底传递了什么。嗨,如果我直接运行它,我会得到gimp_wire_write_msg:wire协议还没有初始化错误“直接运行”stll意味着使用gimp。类似于gimp--no interface-b'(scale logo.png”)'-b'(gimp quit 0)
。您可能需要调整python路径并显式导入脚本:gimp idf--batch解释器python fu eval-b'import sys;sys.path=[“]+sys.path;import yourscript;yourscript.run(“logo.png”)'-b'pdb.gimp_quit(1)
#!/usr/bin/python
from gimpfu import *
def scale(imageName):
pass
register(
"my",
"",
"",
"",
"",
"2017",
"<Image>/Image/Hi..",
"RGB*, GRAY*",
[(PF_STRING, 'file_name', 'file_name', 'logo.png')],
[],
scale)
main()
gimp --no-interface -b '(python-fu-my RUN-NONINTERACTIVE "logo.png")' -b '(gimp-quit 0)'