Mots-clé : the gimp

The Gimp : mémo de la syntaxe Script-Fu

Script-Fu est le langage de script pour automatiser The Gimp. Voici un mémo pour ceux qui veulent faire rapidement du Script-Fu.

Résumé Script-Fu

  • Style d’écriture : notation Polonaise inversée : (+ 1 2) donnera 3
  • Tout est entre parenthèses. Même une fonction qui n’a pas de paramètres.
    Exemple de fonction qu’on appelle sans passer de paramètres : (gimp-image-list)
  • Tout s’écrit sous la forme :
    (f x1 . . . xn)
    Et f est une fonction, ou un mot-clé.
    Exemples de mots-clé : if, and, or, let, define, car
  • Le code (define <symbole> <expression>)
    sert à définir un <symbole> qui devient une variable globale.
    Un <symbole> peut être une fonction ;
  • Définition d’une fonction :
    (define (myfunc param1 . . . paramn) (corps de la fonction))
    Sachant que param1 . . . paramn sont les paramètres à passer à la fonction ;
  • Les constantes booléennes vrai / faux sont notées #t (=true) et #f (=false).
    Exemples :
    > (integer? (sqrt 2))
    #f
    > (integer? 4)
    #t
  • Exemple : (gimp-image-list)

NB : ce mémo est destiné à faire rapidement du Script-Fu. Rien de plus !

The Gimp : exemple simple Script-Fu

Detail pas à pas de la création d’un listing :

  • Decription de la fonction gimp-image-list :
    Cette fonction renvoie une liste :

    • premier élément = nombre d’images
    • ce qui suit = pointeurs sur les images
  • Code classique d’appel de la fonction :
    (gimp-image-list)
  • Assigner à imgs le tableau résultat de (gimp-image-list) :
    let (imgs (gimp-image-list) )
  • Si on veut immédiatement se resservir de la valeur de imgs, il faut utiliser let *
    Donc :
    let* (
    (imgs (gimp-image-list))
    )
  • Mettre le nombre d’images dans la variable nb-imgs :
    let* (
    (imgs (gimp-image-list))
    (nb-imgs (car imgs))
    )
  • Mettre le reste du tableau dans la variable img-array :
    let* (
    (imgs (gimp-image-list))
    (nb-imgs (car imgs))
    (img-array (cadr imgs))
    )

The Gimp et Script-fu : afficher tous les ordres disponibles

L’une des fonctions les plus intéressantes de The Gimp est la possibilité d’écrire des scripts afin d’automatiser les manipulations. Ces scripts sont écrit en langage « Script-Fu« .
Si vous avez un peu fait de Script-Fu, voilà une astuce pour afficher rapidement tous les ordres disponibles en Script-Fu pour The Gimp version 2.6.3.

  1. Allez dans le menu Script, choisissez « Script-Fu », et dans le sous-menu, choisissez : « console » : Script-Fu 01
  2. Une fenêtre de console s’ouvre. Cliquez sur le bouton « parcourir » : Script-Fu 02
  3. Et là vous avez le navigateur qui affiche tous les Script-Fu disponibles, vous pouvez en voir les sources et faire ce que vous voulez avec : Script-Fu 03
  4. Mais vous pouvez faire mieux : tapez « new » et ainsi vous aurez pratiquement tous les ordres « Script-Fu » qui servent à créer un nouvel objet : ainsi vous saurez quels sont tous les objets qu’il est possible de créer sous The Gimp :
    Script-Fu 04