我正在尝试打开两个图像,并使用script-fu将一个图像粘贴在另一个图像的顶部,作为它自己的图层。然后,我需要从命令行(windows)调用此脚本,并传入两个文件名。
这是我的.scm代码:
(define (open-as-layer file1 file2)
(let* (
; first main image
(image (car (gimp-file-load RUN-NONINTERACTIVE file1 file1)))
; them layer
(draw1 (car (gimp-image-get-active-drawable image)))
; open image as layer
(draw2 (car (gimp-file-load-layer RUN-NONINTERACTIVE image file2)))
)
; add layer to image
(gimp-image-insert-layer image draw2 0 0)
)
)
当我使用此命令时:
gimp-2.10 -d -b '(open-as-layer "C:\Users\me\Desktop\testoriginal.pgm" "C:\Users\me\Desktop\testfinished.pgm")'
Gimp打开并加载了第一个图像,但是在加载第二个图像时会产生此错误:
Opening 'C:\Users\me\Desktop\testfinished.pgm)'' failed: Error opening file C:\Users\me\Desktop\testfinished.pgm)': No such file or directory
该错误表明它认为文件名是C:\Users\me\Desktop\testfinished.pgm)'
,请注意其中包含)'
。因此,我尝试在命令的完整文件名之后添加一个空格:
gimp-2.10 -d -b '(open-as-layer "C:\Users\me\Desktop\testoriginal.pgm" "C:\Users\me\Desktop\testfinished.pgm" )'
现在gimp将两个图像加载到单独的选项卡中,但是尝试加载第三个图像,并因以下错误而失败:
Opening 'C:\Program Files\GIMP 2\bin\)'' failed: Error opening file C:\Program Files\GIMP 2\bin\)': No such file or directory
同样,它尝试加载图像(空字符串?),但包含了)'
我需要做的就是让它识别双引号内的字符串。