Programmer un script fu

Fermé
Chris-mtp Messages postés 1 Date d'inscription mercredi 8 juillet 2015 Statut Membre Dernière intervention 8 juillet 2015 - 8 juil. 2015 à 12:02
 Le Panda - 9 août 2015 à 13:09
Bonjour a tous
Je suis nouveau sur ce forum et ma question concerne le logiciel gratuit gimp
j'effectue plusieurs taches sous gimp dont certaines les mêmes sur plusieurs photos d'où la nécessité de créer un petit script je vous explique
quand jouvre une image sous gimp, je créé et active une sélection sous gimp avec l'outil ciseaux intelligents et c'est la que le script demarre, je voudrais un script qui :
- remplir la sélection en blanc
- inverse la sélection
- remplir la nouvelle sélection en noir
- enregistré la photo avec le suffixe _mask en jpeg dans le même répertoire que celle ouverte.
j'ai essayé de me plonger un peu dans la programmation script fu et je nage, pire je coule
Je n'arrive pas par exemple a donner une variable pour la sélection courante et tout
c'est la galère
si vous avez des idées, merci


A voir également:

1 réponse

Salut,

Au cas où tu passes dans le coin...

En script-fu, le plus simple (à mon humble avis), est d'avoir un script de test, contenant déjà quelques variables de déclarées.

Exemple :
http://www.cjoint.com/doc/15_08/EHjgSRqZpQ1_ScriptTest.scm

Dans ce script, les instructions sont à mettre entre :
; **--Debut de la fonction a tester--**

et
; **--Fin de la fonction a tester--**


Dans mon script de test, je mets :
(gimp-message "rien")

...qui affiche juste le message "Rien" quand le script arrive à cette instruction (cela permet éventuellement de voir à quel endroit le script plante).

/!\ Le message ne s'affichera pas obligatoirement dans une fenêtre : il peut apparaître dans la barre d'état.
;)


Concernant ce que tu souhaites faire, il va falloir aussi déterminer la couleur de premier-plan (qui servira au remplissage).
Et ensuite, si tu souhaites faire les choses "proprement", rétablir la couleur de premier-plan avant l'exécution du script.

Donc, dans les déclarations de variables (ce qui se trouve après (let* ( ) :
(CouleurPP (car (gimp-context-get-foreground)))

...ça permet d'obtenir la couleur de premier-plan existante.

Pour les instructions :
- remplir la sélection en blanc
1° mettre du blanc en couleur de premier plan
(gimp-context-set-foreground '(255 255 255)) 
255 255 255 : ce sont les valeurs RVB du blanc

2° remplir avec la couleur de premier-plan :
(gimp-edit-fill drawable FOREGROUND-FILL)
FOREGROUND-FILL : remplissage avec la couleur de 1er plan

- inverse la sélection
(gimp-selection-invert image) 

- remplir la nouvelle sélection en noir
1° mettre du noir en couleur de 1er plan :
(gimp-context-set-foreground '(0 0 0)) 
/!\Ce sont des zéros (puisqu'il s'agit de la valeur RVB du noir)
;)

2° remplir avec la couleur de premier-plan :
(gimp-edit-fill drawable FOREGROUND-FILL)



...et, pour "faire les choses bien", on réinitialise la couleur de premier-plan :
(gimp-context-set-foreground CouleurPP)

...on peut aussi éventuellement supprimer la sélection...
(gimp-selection-none image)


Le script :
http://www.cjoint.com/doc/15_08/EHjhFoYllv1_Chris-mtp.scm
...apparaît dans "Filtres -> ChrisMTP"
;)


Concernant l'enregistrement du fichier... je n'ai encore jamais utilisé la fonction, et -AMHA- il faudrait connaître ton O.S. (notamment pour les slashs)...



@+
0
<EDITH>
Et ensuite, si tu souhaites faire les choses "proprement", rétablir la couleur de premier-plan avant l'exécution du script.
Bien sûr, c'est après l'exécution du script.
;)
0