Скрипт GIMP, передающий имя входного файла - PullRequest
0 голосов
/ 27 ноября 2018

Это мой полный сценарий.Во время выполнения скрипта я получаю следующую ошибку: «Ошибка: недопустимый тип для аргумента 3 для gimp-file-load-layer».

Обычно эта ошибка появляется, когда я использую параметр "outputFile" внутри скрипта.Если я жестко закодирую значение для «outputFile» в скрипте, все работает нормально.Я не мог понять проблему.Любая помощь приветствуется.В обоих случаях путь и имя входного файла остаются одинаковыми "D: \ t.png".

            (define (script-fu-test-script outputFile)
    (let*   (
        (newimage (car (gimp-image-new 208 208 0)))
        (border (car (gimp-file-load-layer 0 newimage "D:\\goldborder.png")))
        (shapeback (car (gimp-file-load-layer 0 newimage "D:\\shapeback.png")))
        (newlayer (car (gimp-file-load-layer 0 newimage outputFile)))       
    )
    (gimp-image-add-layer newimage border 0)
    (gimp-image-add-layer newimage newlayer 0)
    (gimp-layer-translate newlayer 8 8)
    (gimp-image-select-color newimage CHANNEL-OP-REPLACE newlayer '(0 0 0))
    (gimp-image-add-layer newimage shapeback 0)
    (gimp-selection-invert newimage)        
    (gimp-edit-clear shapeback)
    (gimp-selection-none newimage)
    (script-fu-drop-shadow newimage shapeback 10 10 1 '(0 0 0) 80 0)    
    (gimp-display-new newimage)
))

    (script-fu-register "script-fu-test-script"
    "Testing Script"
    "Creates a png from supplied svg"
    "MyName"
    "2018, MyName"
    "November 27, 2018"
    ""
   SF-IMAGE "outputFile" 0)
...