用脚本fu创建一个新图像

时间:2013-09-24 16:35:11

标签: scheme gimp script-fu

我正在尝试使用script-fu,尝试自学如何使用它。我有以下基本脚本,我认为会创建,然后显示一个新图像:

(define (script-fu-test)
  (let*
      (
       (image (car (gimp-image-new 10 10 RGB)))
       )
    (gimp-display-new image)
    (gimp-context-pop)
    )
  )

我正在调用脚本:

./gimp-2.8 -i -b '(script-fu-test)'

它失败了,就像这样:

batch command experienced an execution error:
Error: ( : 32662) Procedure execution of gimp-display-new failed 

任何人都暗示我可能会搞砸到这里?


我在Mac OS X上运行它(即/Applications/Gimp.app/Contents/MacOS/gimp-2.8)

1 个答案:

答案 0 :(得分:4)

当我尝试使用代码的简化版本时,我得到以下结果:

$ gimp -b '(gimp-display-new (car (gimp-image-new 10 10 RGB)))'
batch command executed successfully

$ gimp -i -b '(gimp-display-new (car (gimp-image-new 10 10 RGB)))'
batch command experienced an execution error

请注意,在第一种情况下,没有-i,因此用户界面是可用的。在第二种情况下,有-i,因此没有用户界面。没有界面,您无法使用gimp-display-new。在无接口模式下无法使用gimp-display-new的内容也在以下提及:

    gimp-perl邮件列表上的
  • RE: Script can't connect to Perl Server

      

    确保使用以下行在批处理模式下启动gimp:

    gimp --no-interface --batch '(extension-perl-server 1 0 0)' &
    
         

    但这也意味着你不能做gimp-display-new,这是非常的   对调试很有用。我在编写新图像时使用交互式gimp   生成代码,然后在生产过程中使用--no-interface。

  • The "Linux LaTeX-PDF HOW-TO" by Udo Schuermann,其中说:
      

    注意," 1"因为命令中的第一个参数指的是这个脚本要以非交互模式运行。我已经注释掉了(gimp-display-new img)命令;如果你在交互模式下运行它,它不仅会提示你输入各种参数,还会产生一个图像窗口来显示结果。但我们绝对不想在这个项目中担心可见的东西和交互操作。我们继续:"

  •