Les scripts fu par titix |
Auteur Laetitia Marin | |
J'ai choisi cet exemple parce qu'il met en oeuvre des fonctions simples de sélection, de remplissage, et un greffon, qui sont à mon humble avis les choses les plus simples et les premières a apprendre avec les scripts fu. Nous serons bien d'accord pour dire qu'en lui même ce script est totalement inutile =) Ce tutorial n'est pas linéaire, il se veut explicatif sur la base d'un script existant. Ce script prend un argument : 'radius', nous verrons en fin de tutorial comment passer des arguments à un script. |
|
d'abord un cercle parfait
pour cela nous utilisons une image img
celle-ci a été créée comme suit :
cette déclaration va créer l'image, et ici elle est emprisonnée dans un let de maniére à être réutilisable. (je tiens a entrer dans le script pas à pas, à la fin il sera complet)
à la fin du script on rendra l'image visible par :
|
|
maintenant nous voulons remplir ce cercle de jaune vif
nous choisissons le jaune en couleur de premier plan
la couleur de premier plan va donc être changée.
nous l'aurons donc dans le let supérieur préalablement sauvée avec la couleur
de fond
nous la restituerons a la fin
|
|
maintenant nous remplissons
pour remplir nous avons besoin d'une zone dessinable (un layer) créée dans le
let supérieur par :
ajoutée a l'image par :
mise à zero par :
|
|
maintenant le sourire et les yeux :
nous allons définir quelques tailles dans le let supérieur
nous allons créer une selection qui remplace l'ancienne (REPLACE)
on a besoin d'un espace à remplir, on va créer une bordure au cercle
on soustrait (SUB) la partie supérieure du cercle bordé pour créer le sourire
on ajoute (ADD) 2 cercles pour les yeux
maintenant nous pouvons remplir
|
|
maintenant on va zapper le passage de la sélection en croissant du reflet. Il y a juste à savoir que l'on va sélectionner un cercle et lui soustraire un cercle plus petit.
maintenant on va remplir ce croissant de blanc, a l'intensité 50
et appliquer un gaussian blur dessus : un flou gaussien est appliqué à
l'image "img" et le layer "reflet" avec un niveau de 15 en X et 15 en Y.
maintenant on va dupliquer ce calque appellé "reflet"
ceci dans le let supérieur sous le nom de 'reflet2'
et enfin l'ajouter à l'image
et le tourner de 180° pour le placer a l'opposé du premier
opération terminée ! |
|
reste a enregistrer le script dans la base de données avec son nom, sa place et ses arguments
(script-fu-register
j'ai parlé de passage d'argument à la premiére étape de ce tutorial.
c'est lui l'argument "radius" pris en paramètre. On doit forcément lui donner une valeur par défaut, ici "64". Si la valeur spécifiée n'est pas correcte ou d'un mauvais type, elle sera rejetée explicitement par gimp a l'interprétation. "SF-VALUE" est quant à lui le type de cet argument. "Radius" est le nom prompté par le script dans la fenêtre de dialogue. |
|
Il existe plusieurs types d'arguments, les plus courants sont
Enfin pour accepter l'argument, on le place dans le define du script fu
de manière a pouvoir l'utiliser dans le corps du script (dans l'ordre d'arrivée).
NB : On peut parfaitement faire un script sans argument. NB : si on veut enregistrer un script qui s'applique sur une image déja existante on procédera de la façon suivante à l'enregistrement :
Pour l'emplacement "physique" du script on le relie à l'image :
Les 2 arguments obligatoires sont :
les arguments obligatoires peuvent être suivis d'arguments facultatifs et
seront traités dans le même ordre par le script
|
ici se trouve le récapitulatif du script
les points importants à se rappeller en matière de script fu :
bien fermer les parenthèses (erreur au lancement du gimp si elles sont en nombre insuffisant; erreur a l'exécution si elles sont mal placées).
bien vérifier que toutes les variables utilisées sont déclarées (erreur à l'exécution).
la recherche par nom effectue une recherche sur les noms des funcs, et par blurb sur leur description.