Я пытаюсь открыть два изображения и вставить одно поверх другого, как его собственный слой, используя скрипт-фу. Затем мне нужно вызвать этот скрипт из командной строки (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
Опять же, он попытался загрузить изображение (пустую строку?), Но включил )'
Все, что мне нужно, это заставить его распознавать только строку в двойных кавычках.