提问人:Liam Brun 提问时间:11/17/2023 最后编辑:ShawnLiam Brun 更新时间:11/18/2023 访问量:51
Gimp Scheme 脚本。从 Gimp 导出图像时如何保持相同的文件名
Gimp Scheme Script. How can I keep the same file name when exporting the images from Gimp
问:
我想在脚本导出每个文件时保持相同的文件名。尝试了很多方法,但没有任何效果。导出时,结束文件名为 image00001。我希望它与Gimp中的相同,我试图修改Scheme代码以在导出过程中保留原始文件名。我探索了不同的方法,包括使用original_filename。但是,该变量似乎无法正常工作,从而导致错误。
由于 GIMP Scheme 环境的限制和不确定性,以及在保留原始文件名的同时保存文件的特定挑战,因此很难找到令人满意的解决方案。由于 GIMP Scheme API 中缺少某些功能或信息,因此这些调整具有挑战性。
(define (script-fu-save-all-images inDir inSaveType inFileName inFileNumber)
(let* (
(i (car (gimp-image-list)))
(image)
(newFileName "")
(saveString "")
(pathchar (if (equal? (substring gimp-dir 0 1) "/") "/" "\\"))
)
(set! saveString
(cond
((equal? inSaveType 0) ".jpg")
((equal? inSaveType 1) ".bmp")
((equal? inSaveType 2) ".png")
((equal? inSaveType 3) ".tif")
)
)
(while (> i 0)
(set! image (vector-ref (cadr (gimp-image-list)) (- i 1)))
(set! newFileName (string-append inDir
pathchar inFileName
(substring "00000" (string-length
(number->string (+ inFileNumber i))))
(number->string (+ inFileNumber i)) saveString))
;; Überprüfe, ob das Bild mehr als eine Ebene hat
(if (> (car (gimp-image-get-layers image)) 1)
;; Füge alle Ebenen zusammen, bevor du speicherst
(gimp-item-set-visible (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE))
TRUE)
)
;; Speichern
(gimp-file-save RUN-NONINTERACTIVE
image
(car (gimp-image-get-active-layer image))
newFileName
newFileName
)
(gimp-image-clean-all image)
(set! i (- i 1))
)
)
)
(script-fu-register "script-fu-save-all-images"
"<Image>/File/Save ALL As"
"Save all opened images as ..."
"Lauchlin Wilkinson (& Saul Goode)"
"Lauchlin Wilkinson (& Saul Goode)"
"2014/04/21"
""
SF-DIRNAME "Save Directory" ""
SF-OPTION "Save File Type" (list "jpg" "bmp" "png" "tif")
SF-STRING "Save File Base Name" "IMAGE"
SF-ADJUSTMENT "Save File Start Number"
(list 0 0 9000 1 100 0 SF-SPINNER)
)
答: 暂无答案
评论
(gimp-image-get-filename image)
(gimp-layer-new-from-visible image dest-image name)