2016-07-30 35 views
2

Dieses Skript schlägt an der if-Anweisung mit "Fehler: (: 1)>: Argument 2 muss: Nummer sein", warum?Bildbreite zu Zahl vergleichen fehlschlägt

(define x 1500) 

(if(> x (gimp-image-width image)) 
(set! x (gimp-image-width image)) 
) 

Gibt es eine gute Referenz für die in GIMP verwendete Version von Scheme?

Antwort

2

Wenn Sie es im Skript-Fu-Konsole versuchen gimp-image-width eine Liste zurückgibt und keine Nummer:

(gimp-image-width 1) 
(400) 

So haben Sie das Element der Liste zu extrahieren:

(define x 1500) 
(if(> x (car (gimp-image-width 1))) 
(set! x (gimp-image-width 1)) 
) 

Als Randnotiz, wenn Sie anfangen, Gimp-Skripte zu schreiben, verwenden Sie Python, es ist viel einfacher:

width=min(1500,image.width)