Script-Fu дает мне незаконную функцию

это мой первый скрипт-фу для gimp, и он дает мне "недопустимую функцию", когда я пытаюсь выполнить его там.

(define
    (
        script-fu-c64ize
        filename
        width
        height
    )
    (let*
        (
            (image 0)
        )
        (image (gimp-file-load 1 filename filename))
        (gimp-image-scale-full image width height 2)
        (gimp-image-scale-full image (/ width 2) height 0)
        (gimp-image-convert-indexed image 1 4 16 FALSE FALSE "C64")
        (gimp-image-scale-full image (* 4 width) (* 4 height) 0)
        (drawable (car (gimp-image-get-active-layer image)))
        (gimp-file-save 1 image drawable filename filename)
        (gimp-image-delete image)
    )
)

может быть, кто-то более опытный может заметить ошибку, и я чувствую, что упустил что-то фундаментальное (или это просто глупая ошибка). я все еще борюсь с документами.

Спасибо!


person DasAntonym    schedule 11.08.2011    source источник


Ответы (1)


In

(image (gimp-file-load 1 filename filename))

вы вызываете image как функцию, но непосредственно перед этим она привязана к числу. Поскольку числа не являются функциями, это приведет к ошибке.

Я не знаком со Script-fu, но если бы я предположил, я бы заменил форму привязки (image 0) на приведенную выше.

person Matthias Benkard    schedule 11.08.2011
comment
о да, я думаю, вы только что прибили его. я не понял это правильно. я думал, что устанавливаю изображение во втором случае, но вы правы, я вызываю его как функцию. я должен использовать набор! или поместите его в часть определения переменной. я попробую, огромное спасибо! - person DasAntonym; 12.08.2011
comment
да, это было так. еще раз спасибо! у меня осталась некоторая ошибка типа, но я разберусь с этим в конце концов. - person DasAntonym; 12.08.2011