我尝试使用GIMP批处理一些文件。
下面是脚本:
(define (script-fu-batch-sofu globexp)
(define (sofu-trans-img n f)
(let* ((fname (car f))
(img (car (gimp-file-load 1 fname fname))))
(gimp-image-undo-disable img)
(gimp-fuzzy-select (car (gimp-image-get-active-drawable img)) 0 0 10 2 FALSE FALSE 0 FALSE)
(gimp-selection-grow img 1)
(gimp-edit-clear (car (gimp-image-get-active-drawable img)))
(file-png-save-defaults non-interactive img (car (gimp-image-get-active-drawable img)) fname fname)
(gimp-image-delete img)
)
(if (= n 1) 1 (sofu-trans-img (- n 1) (cdr f)))
)
(set! files (file-glob globexp 0))
(sofu-trans-img (car files) (car (cdr files)))
)
; Im GIMP und im Menü registrieren
(script-fu-register "script-fu-batch-sofu"
_"_Mehrere Bilder transparentieren…"
_"Mehrere Bilder auf einmal transparent machen"
"Martin Weber"
"2012, Martin Weber"
"Sep 5, 2012"
""
SF-STRING "Zu transparentierende Dateien" "/pfad/zu/bildern/*.bmp")
(script-fu-menu-register "script-fu-batch-sofu" "<Image>/Xtns/Misc")我基本上复制了一个教程中的脚本,并修改了处理图像的代码行。如果我运行该脚本,我会收到以下错误消息:
Error: set!: unbound variable: files老实说,我真的不知道这部分是做什么的,但我想我需要它。我猜它会打开script-参数给出的文件,然后一个接一个地处理它们。我只是不知道那里出了什么问题。我错过了什么?
发布于 2013-09-05 20:46:59
我认为你需要加上
(define files)在代码的第一行。
https://stackoverflow.com/questions/18636607
复制相似问题