Dies ist mein erster Ausflug in gimp
Scripting, und ich habe anscheinend ein grundlegendes Missverständnis. Ich habe den folgenden Code geschrieben, die in der angegebenen Datei weiß in Transparenz umwandeln sollten, und das Ergebnis als png
-Datei zu exportieren:Warum werden diese Scripted Gimp Image-Modifikationen nicht beibehalten?
(define (edit-name original-name)
(let* ((pos (- (string-length original-name) 4))
(suffix (substring original-name pos))
(prefix (substring original-name 0 pos))
(new-name (string-append prefix ".png")))
new-name))
(define (my-process filename)
(let* ((color '(0 0 0))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-get-active-layer image)))
(filename-modified (edit-name filename)))
(if (not (gimp-drawable-is-rgb drawable))
(gimp-image-convert-rgb image))
(plug-in-colortoalpha RUN-NONINTERACTIVE image drawable color)
(file-png-save2 RUN-NONINTERACTIVE image drawable filename-modified filename-modified 0 9 1 1 1 1 1 0 1)))
Dieses Skript in der Datei ~/.gimp-2.8/scripts/my-process.scm
gespeichert und aufgerufen, mit:
gimp -i -b '(my-process "somefile.xcf")' -b '(gimp-quit 0)'
Das Skript wird ausgeführt und ich auf der Konsole ausgegeben sagen batch command executed successfully
. Wenn ich außerdem einen offensichtlichen Syntax- oder Parameterfehler in das Skript einfüge, erhalte ich einen Fehler. Ich habe auch versucht, das Zeichen nach der RGB-Konvertierung wieder zu bekommen, falls die Konvertierung ein anderes Objekt ergibt. Ich habe auch versucht, file-png-save-defaults
anstelle von file-png-save2
zu verwenden, ohne Erfolg.
Die Ausgabe, die ich bekomme, ist jedoch ein einfacher Png-Export im indizierten Farbmodus (der ursprüngliche Modus des Quellbildes), der den Alphakanal nicht enthält.
Ich habe die Dokumentation für die Umwandlungsschritte, die ich verwende, angeschaut und kann nicht herausfinden, was vor sich geht; Hilfe würde sehr geschätzt werden.
Haben Sie verifiziert, was Ihr Skript mit einem Bild tut, indem Sie es z. die Script-Fu-Konsole in GIMP? –