Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scheme Discussion :

[GIMP] Couleur dépendant d'une variable


Sujet :

Scheme

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    avril 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : avril 2015
    Messages : 36
    Points : 33
    Points
    33
    Par défaut [GIMP] Couleur dépendant d'une variable
    Bonjour,
    En essayant quelque trucs en script-fu, je suis tombé face à un problème que je ne comprend pas du tout...

    Si dans la console j’écris :
    [code] (gimp-context-set-background '(0 0 0)) [\code]
    La couleur d'arrière plan deviens noire : logique.

    Par contre :
    [code] (let* ((a 0)) (gimp-context-set-background '(a 0 0))) [\code]
    La couleur d'arrière plan est mise à rouge... (ce qui veut dire qu'elle est mise à 255 0 0)

    J'ai fait plusieurs test : pour déclarer une couleur, les variables valent toujours 255.

    Quelqu'un pour m'expliquer ? Comment mettre une couleur dépendant d'une variable ?

    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    mai 2013
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : mai 2013
    Messages : 144
    Points : 261
    Points
    261
    Par défaut
    Je suppose que ça se passe à cause de l'apostrophe, alors que (list a 0 0) et `(,a 0 0) doivent marcher. La version '(a 0 0) fournit un symbole comme la quantité du rouge, ce qui semble un erreur per se. Cependent, je n'ai pas pu le tester. C'etait ma première expérience avec la console de gimp, et même la première command n'a pas donné de resultats observables.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2008
    Messages
    1 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2008
    Messages : 1 846
    Points : 5 039
    Points
    5 039
    Par défaut
    Citation Envoyé par Sayanel01 Voir le message
    Si dans la console j’écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     (gimp-context-set-background '(0 0 0))
    La couleur d'arrière plan deviens noire : logique.

    Par contre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      (let* ((a 0)) (gimp-context-set-background '(a 0 0)))
    La couleur d'arrière plan est mise à rouge... (ce qui veut dire qu'elle est mise à 255 0 0)
    Petites remarques:
    * Sur ce forum, les balises de fermeture s'écrivent avec un slash (barre oblique) et non un backslash (barre oblique inversée?).
    * Dans ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      (let* ((a 0)) (gimp-context-set-background '(a 0 0)))
    il n'est pas utile d'utiliser "let*" car tu as une seule variable.

    * la liste '(a 0 0) est une liste qui contient 3 éléments: le symbole a, le nombre 0 et le nombre 0.
    Ce que fait gimp-context-set-background, lorsqu'on lui passe autre chose que des nombres n'est probablement pas bien déterminé.
    Normalement, si c'était bien fait, il devrait produire une erreur du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gimp-context-set-background: l'argument n'est pas un nombre: a
    Manifestement, d'après ce que tu observes, il a plutôt tendance à mettre 255.

    * En fait, tu veux plutôt une liste avec la valeur du symbole a et non le symbole a lui-même, suivi du nombre 0 et du nombre 0.
    Le plus simple, c'est de l'exprimer exactement de la manière que je viens de dire!
    Ce qui donne: (list a 0 0), et qui se lit: "une liste contenant la valeur de la variable a, suivie de 0 et de 0.".

    * La solution `(,a 0 0) proposée par byjav est une écriture raccourcie de (list a 0 0) et qui se lit également "une liste avec la valeur de la variable a, suivie de 0 et de 0.".

    * de manière plus générale, tu peux donc écrire, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (let ((r 0) (g 127) (b 255)) (gimp-context-set-background (list a b c)))
    * Par contre, il faut utiliser "let*" si tu veux écrire quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (let* ((r 0) (g (+ r 64)) (b (+ b 64))) (gimp-context-set-background (list a b c)))

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    avril 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : avril 2015
    Messages : 36
    Points : 33
    Points
    33
    Par défaut
    ... ...
    Tout s’éclaircit

    D'accord, merci ! Il semblerait que beaucoup de problèmes se résolvent pour moi

    Au passage, j'ai appris le scheme avec le tuto gimp.org : de http://docs.gimp.org/fr/gimp-using-s...st-script.html
    Assez clair, mais loin d'être exhaustif. Connaitriez-vous d'autres documentation plus complètes ?

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/07/2011, 10h05
  2. Définition de variables dépendant. . .d'une variable
    Par ted the Ors dans le forum Général VBA
    Réponses: 1
    Dernier message: 12/02/2010, 16h47
  3. Tracer une courbe avec couleur dépendant d'une variable
    Par etienne.clopeau dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 07/03/2009, 20h10
  4. Réponses: 2
    Dernier message: 03/03/2009, 10h10
  5. Point d'arrêt dépendant d'une variable
    Par oodini dans le forum Visual C++
    Réponses: 4
    Dernier message: 30/08/2007, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo