私はGimpの中.scmとして、このスクリプトを持っています。ファイルの先頭にあるコメントでGIMPでこのスクリプトを処理できないのはなぜですか?
;MIT license.
(define (script-fu-export-layers img drw path outnameformat)
; credit to Vijay Mathew on Stack Overflow for the expand keywords function
(let ((expand-keywords (lambda(format tokens)
(let loop ((slist (string->list string))
(in-replace-mode #f)
(result ""))
(if (not (null? slist))
(let ((c (car slist)))
(cond (in-replace-mode
(let ((token (car (cdr (assoc c tokens)))))
(loop (cdr slist) #f (string-append result token))))
((char=? C#\~)
(loop (cdr slist) #t result))
(else
(loop (cdr slist) #f (
string-append result (make-string 1 c))))))
result)))))
(for-each (lambda (layer)
(let* (
(name (expand-keywords outnameformat '(
(#\i (car(gimp-image-get-name img)))
(#\l (car(gimp-drawable-get-name layer))))))
(outpath (string-append path "/" name)))
(gimp-file-save RUN-NONINTERACTIVE img layer outpath name)
)) (vector->list(cadr (gimp-image-get-layers img)))))
)
(script-fu-register
"script-fu-export-layers"
"L_ayers"
"Export all layers as individual files."
"Stuart P. Bentley <[email protected]>"
"Copyright 2011 Stuart P. Bentley"
"June 28, 2011"
"*"
SF-IMAGE "The Image" 0
SF-DRAWABLE "The Layer" 0
SF-DIRNAME "Output directory" ""
SF-STRING "Filename Format (~i = image name, ~l = layer name)"
"~i-~l.png"
)
(script-fu-menu-register "script-fu-export-layers" "<Image>/File/E_xport")
を、スクリプトがまったくロードされません。コメントが削除されると、「C:\ Users \ Stuart.gimp-2.6 \ scripts \ export-layers.scmを読み込み中にエラーが発生しました:エラー:一致しないかっこ:1」というスクリプトをリフレッシュするときにエラーが発生します。私はCodepad(スクリプト-fu-registerポイントで壊れます)で実行すると、それがうまく解析されるので、私はそれが何であるか分かりません。
もし第1のコメントを吐くのであれば、あなたは ';コメントするのですか? –
@Alex K .: D'oh。それは問題を捕らえる正しい道に私を置いた。 –
最後のスクリプトは、GIMP Plugin Registry(http://registry.gimp.org/node/25394)にリストされています。 –