Forum Wiki Galerie Kontakt Wie man Fragen richtig stellt. Tutorial Forum
Zurück   GIMP-Forum 3.0 > Arbeiten mit Gimp > GIMP-Ressourcen > Skripte

Hinweise
Alt 13.06.2018, 19:48   #1
Top-SecreT
Neuer Benutzer
 
Registriert seit: 13.06.2018
Beiträge: 3
Standard Brauche Hilfe wegen Fehlermeldungen

Hallo,

egal wie ich mein Skript schreibe ich bekomme immer irgendeine Fehlermeldung. Aufgrund weniger Anlaufpunkte weiß ich auch nicht wie es richtig gemacht wird. Vielleicht kann mir hier jemand helfen?

Code:
(define 
	(indexed-colors pattern)
	(print pattern)
	(let*	(
			(filelist (cadr (file-glob pattern 1)))
		)
		(print filelist)
		(while filelist
			(let* 	(
					(filename (car filelist))
					(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
					(drawable (car (gimp-image-get-active-layer image)))
					(gimp-image-convert-indexed 
						image 
						CONVERT-DITHER-NONE
						CONVERT-PALETTE-GENERATE
						64
						FALSE 
						FALSE 
						"")
				)
				(gimp-file-save 
				   RUN-NONINTERACTIVE
				   image 
				   drawable 
				   "filename.gif"
				   "filename.gif")
				(gimp-image-delete image)
				(set! filelist (cdr filelist))
			)
		)
	)
)
(script-fu-register
  "indexed-colors"
  "indexed-colors"
  "Convert RGB to Indexed"
  ""
  ""
  ""
  ""
  SF-STRING "pattern" "D:\\xampp\\htdocs\\PBN2\\image\\unedited\\*.gif")
 
(script-fu-menu-register
  "indexed-colors"
  "<Toolbox>/Xtns/Script-Fu/Utils")
Das ist mein Skript ich möchte damit mehrere Bilder in indizierte Farben umwandeln. Als Fehlermeldung bekomme ich

Error: car: argument 1 must be: pair

Danach habe ich auch schon gegoogelt, da meinte jemand dass man car nicht verwendet bei file-load und bei get-active-layer also habe ich es mal ohne versucht doch dann kommen wieder andere Fehlermeldungen dass der Typ der folgenden Funktion falsch ist.


LG,
Daniela
Top-SecreT ist offline   Mit Zitat antworten
Alt 13.06.2018, 20:25   #2
Asmodis
Erfahrener Benutzer
 
Benutzerbild von Asmodis
 
Registriert seit: 25.05.2009
Ort: Karlsruhe
Beiträge: 1.181
Standard

Hi Daniela, du hattest einfach nur ein paar Klammern falsch gesetzt und oben in der Schliefe einen Teil vergessen (wobei ich gar nicht genau weiß, ob man das not null? wirklich braucht - ich kann eigentlich auch kein scheme, ich habe mich nach diesem Tutorial gerichtet )

Code:
(define 
    (indexed-colors pattern)
    (print pattern)
    (let*   
        (
            (filelist (cadr (file-glob pattern 1)))
        )
        (print filelist)
        (while (not (null? filelist))
            (let*   
                (
                    (filename (car filelist))
                    (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
                    (drawable (car (gimp-image-get-active-layer image)))
                )
                (gimp-image-convert-indexed 
                    image 
                    CONVERT-DITHER-NONE
                    CONVERT-PALETTE-GENERATE
                    64
                    FALSE 
                    FALSE 
                    ""
                )
                (gimp-file-save 
                    RUN-NONINTERACTIVE
                    image 
                    drawable 
                    "filename.gif"
                    "filename.gif"
                )
                (gimp-image-delete image)
                (set! filelist (cdr filelist))
            )
        )
    )
)

(script-fu-register
    "indexed-colors"
    "indexed-colors"
    "Convert RGB to Indexed"
    ""
    ""
    ""
    ""
    SF-STRING "pattern" "D:\\xampp\\htdocs\\PBN2\\image\\unedited\\*.gif"
)

(script-fu-menu-register
    "indexed-colors"
    "<Toolbox>/Xtns/Script-Fu/Utils"
)
Aber Achtung: In der aktuellen Version speichert das Script noch alle Bilder als "filename.gif" in dem Verzeichnis, in dem GIMP gestartet wurde.
__________________
Lg, Simon
GIMP 2.10.6 | Windows 10 (64Bit)

Downloads:
---> GIMP | G'MIC<---

GIMP-Einstellungsordner: 2.8: C:\Users\USERNAME\.gimp-2.8\ | 2.10: C:\Users\USERNAME\AppData\Roaming\GIMP\2.10\


Geändert von Asmodis (13.06.2018 um 20:33 Uhr) Grund: Code-Formatierung
Asmodis ist offline   Mit Zitat antworten
Alt 13.06.2018, 20:59   #3
Top-SecreT
Neuer Benutzer
 
Registriert seit: 13.06.2018
Beiträge: 3
Standard

Wow vielen Dank. Du hast mir sehr geholfen. Habe seit Ewigkeiten rumprobiert.
Rettet mir den Tag danke.
Weißt du zufällig auch was ich noch machen muss wenn er sagt Bild darf nicht vom Typ indexed sein? Also muss ich es irgendwie umwandeln und dann zurückwandeln?
Top-SecreT ist offline   Mit Zitat antworten
Alt 13.06.2018, 21:47   #4
Asmodis
Erfahrener Benutzer
 
Benutzerbild von Asmodis
 
Registriert seit: 25.05.2009
Ort: Karlsruhe
Beiträge: 1.181
Standard

Ja, ich schätze mal, gimp-image-convert-indexed will nicht auf einem Bild arbeiten, das bereits indexiert ist. Es dürfte schon reichen, das Bild vorher je nach modus erst noch zu rgb zu konvertieren.
__________________
Lg, Simon
GIMP 2.10.6 | Windows 10 (64Bit)

Downloads:
---> GIMP | G'MIC<---

GIMP-Einstellungsordner: 2.8: C:\Users\USERNAME\.gimp-2.8\ | 2.10: C:\Users\USERNAME\AppData\Roaming\GIMP\2.10\

Asmodis ist offline   Mit Zitat antworten
Alt 14.06.2018, 16:24   #5
Top-SecreT
Neuer Benutzer
 
Registriert seit: 13.06.2018
Beiträge: 3
Standard

Vielen Dank nochmal. Es klappt jetzt alles wie es soll
Top-SecreT ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:43 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.