我试图在批处理模式下执行一段Python代码来编辑现有的Gimp文件。获取以下错误
批处理命令遇到执行错误: 错误:(:1)eval:未绑定变量:命令行执行
以下是我使用的代码:
#!/usr/bin/env python
from gimpfu import *
# the script
def my_tf_cmd_function(fle, fontname, fontsize) :
image = pdb.gimp_file_load(fle,fle)
drawable = pdb.gimp_image_get_active_layer(image)
image.undo_group_start()
foreground = gimp.get_foreground()
gimp.set_foreground(240,240,240)
textlayer1 = gimp.Layer(image, "Troo", drawable.width, drawable.height, RGBA_IMAGE, 100, NORMAL_MODE)
image.add_layer(textlayer1, 0)
pdb.gimp_drawable_fill(textlayer1, 3) # transparent fill
gimp.set_background(255, 255, 255)
gimp.set_foreground(240,240,240)
floattext = pdb.gimp_text_fontname(image, textlayer1, 200, 100, "T", 1, 1, fontsize, 1, fontname)
pdb.gimp_floating_sel_anchor(floattext)
gimp.set_foreground(foreground)
image.undo_group_end()
pdb.gimp_file_save(image, drawable, "/home/Downloads/img.xcf", "/home/Downloads/img.xcf")
return
# This is the plugin registration function
register(
"command_line_execution",
"My Command Line Attempt Python-Fu",
"This script does nothing and is extremely good at it",
"RC",
"RC",
"May 2013",
"<Image>/MyScripts/My Command Python-Fu",
"*",
[
(PF_STRING, "fle", "GlobPattern", "*.*"),
(PF_FONT, "fontname", "Foo font", "Arial"),
(PF_INT, "fontsize", "Foo font size", 18)
],
[],
my_tf_cmd_function,
)
main()
请帮忙。在
完整答案在这里:solving gimp unbound variable error
所以我在试图弄清楚如何在GIMP中运行函数时遇到了这个问题。在
我在这里找到了答案:IBM developerWorks
所以基本上你可以这样调用函数:
gimp -i -b '(python-fu-command-line-execution 0 0 0 "*.*" "Arial" 18)' -b '(gimp-quit 0)'
前3个0表示3个默认参数:
INTERACTIVE MODE OR NOT
img IMAGE
draw DRAWABLE
我知道你的代码并没有真正使用这些,但是这些都是必需的,所以。。。至于为什么它们必须是整数,我自己也不知道。我反复试验,发现
INTEGER
对我有用。在如果有人对发生的事情有更好的了解,一定要开导。在
编辑:
所以我自己也有这个问题。。。我发现
Error: ( : 1) eval: unbound variable: commmand-line-execution
错误是在Scheme语言中通过CLI插入批处理命令时引起的。在但是要检查您的函数是否已注册,请转到过程浏览器(
Help > Procedure Browser
)并搜索您的函数(它将类似于python-fu-command-line-execution
)。在如果它不在那里,请查看这篇文章,在哪里放置你的插件文件来注册它:wikibooks。在
如果已注册,则可以尝试在控制台中运行它。(
Filters > Python Fu > Console
),如果它运行,您的代码就不会有问题。在但同样,您应该先尝试以格式运行命令,错误与给定的scheme命令有关。。。在
相关问题 更多 >
编程相关推荐