67 lines
2.1 KiB
Scheme
67 lines
2.1 KiB
Scheme
(script-fu-register
|
|
"script-fu-export-joeylib" ;func name
|
|
"Export to JoeyLib" ;menu label
|
|
"Exports layers as individual 16 color PNGs." ;description
|
|
"Scott Duensing" ;author
|
|
"Copyright 2020 Scott Duensing" ;copyright notice
|
|
"May 6, 2020" ;date created
|
|
"" ;image type that the script works on
|
|
SF-FILENAME "XCF File" "input.xcf" ;default parameters
|
|
)
|
|
(script-fu-menu-register "script-fu-export-joeylib" "<Image>/File/Create/JoeyLib")
|
|
(define (script-fu-export-joeylib infile)
|
|
(let*
|
|
(
|
|
(image (car (gimp-xcf-load 1 infile infile)))
|
|
(basename (car (gimp-image-get-filename image)))
|
|
(count 1)
|
|
)
|
|
(when (string=? basename "")
|
|
(set! basename
|
|
(string-append
|
|
(car (gimp-temp-name ""))
|
|
(car (gimp-image-get-name image))
|
|
)
|
|
)
|
|
)
|
|
(let loop
|
|
(
|
|
(layers (vector->list (cadr (gimp-image-get-layers image))))
|
|
)
|
|
(unless (null? layers)
|
|
(gimp-edit-copy (car layers))
|
|
(let
|
|
(
|
|
(img (car (gimp-edit-paste-as-new)))
|
|
(new-name
|
|
(string-append
|
|
basename
|
|
"-DoNtEvErDoThIs-"
|
|
(number->string count)
|
|
".png"
|
|
)
|
|
)
|
|
)
|
|
;(gimp-image-convert-indexed img
|
|
; NO-DITHER
|
|
; MAKE-PALETTE
|
|
; 16
|
|
; FALSE
|
|
; FALSE
|
|
; "")
|
|
(set! count (+ count 1))
|
|
(file-png-save
|
|
1
|
|
img
|
|
(aref (cadr (gimp-image-get-layers img)) 0)
|
|
new-name
|
|
new-name
|
|
TRUE 9 TRUE TRUE TRUE TRUE TRUE
|
|
)
|
|
(gimp-image-delete img)
|
|
)
|
|
(loop (cdr layers))
|
|
)
|
|
)
|
|
)
|
|
)
|