2016-07-30 1 views
2

Ce script échoue à l'instruction if avec "Erreur: (: 1)>: l'argument 2 doit être: nombre", pourquoi?Comparer la largeur de l'image au nombre échoue

(define x 1500) 

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

Y at-il une bonne référence sur la version du schéma utilisé dans GIMP?

Répondre

2

Lorsque vous essayez dans la console de script-fu gimp-image-width retourne une liste et non un numéro:

(gimp-image-width 1) 
(400) 

Vous devez extraire l'élément de la liste:

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

En note secondaire, si vous commencez à écrire des scripts Gimp, utilisez Python, c'est beaucoup plus facile:

width=min(1500,image.width)