Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[GIMP] script-fu et batch

15 réponses
Avatar
Stéphan Peccini
Bonsoir,

Si vous êtes intéressé par la création de scripts pour automatiser vos
traitements ou alors faire du traitement par lot sous Gimp, je vous propose
de voir les exemples de scripts que j'utilise :

http://www.photonature.fr/Gimp/script-fu.html

Vous y trouverez quelques explications et informations sur le langage des
scripts-fu ainsi que 5 scripts-fu dont 4 commentés et 1 survolé.
Je ne cherche pas à faire un tutoriel, certains en présentent d'excellents,
mais juste de montrer quelque chose qui marche pour moi et qui peut donner
des idées.

N'hésitez pas à faire des remarques ou à me demander des explications
complémentaires.

Bonne visite

--
Stephan Peccini
Nature : <URL:http://nature.tesenca.info>
Seurasaari : <URL:http://seurasaari.tesenca.info>

5 réponses

1 2
Avatar
filh
Stéphan Peccini wrote:


Bon en fait la récursivité terminale permet juste de boucler sans
empiler.


C'est justement parce que je suis aller voir que j'en resterai au while :-)


En fait c'est tout con : il suffit que chaque appel récursif soit la
dernière opération effectuée.

En pratique cela revient à ce que chaque variable de la boucle soit
trimbalée dans les arguments, y compris le resultat. C'est finalement
plus proche effectivement de la boucle que de la récursivité pure.

Un exemple classique, si tu veux faire une addition avec uniquement les
incréments à un ou deux, en C tu ferais comme ça :
pour r=a+b :
r=b ; while (a>0) { a--;b++; }
return r;

en scheme

(letrec ((fun (lambda (r a) (if (> a 0)
(fun (+ r 1) (- a 1))
r))))
(fun b a))

ce est quand même pas mal similaire comme structure; nettemment plus que
la structure récursive classique

(letrec ((fun (lambda (r a) (if (> a 0) (+ 1 (fun r (- a 1))
r))))
(fun b a))


:) Bon prochaine leçon les fermetures...

FiLH
--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Roland Barthes.
http://www.filh.org


Avatar
Stéphan Peccini

En pratique cela revient à ce que chaque variable de la boucle soit
trimbalée dans les arguments, y compris le resultat. C'est finalement
plus proche effectivement de la boucle que de la récursivité pure.

Un exemple classique, si tu veux faire une addition avec uniquement les
incréments à un ou deux, en C tu ferais comme ça :


Merci pour les informations. Je trouve tout cela intéressant et j'ai failli
m'acheter un livre sur le Scheme. Mais comme beaucoup de choses n'existent
pas sous Gimp, je me suis dit que j'allais apprendre sur Scheme mais que je
ne serais pas capable de le reproduire sous Gimp. Donc pour l'instant
j'avance à petits pas avec mes quelques connaissances de programmation.
Par contre les "set!" vont disparaître dans quelques temps.

A moins que je me laisse tenter par les scripts Python :-)

--
Stephan Peccini
PhotoNature : <URL:http://www.photonature.fr>

Avatar
filh
Stéphan Peccini wrote:


En pratique cela revient à ce que chaque variable de la boucle soit
trimbalée dans les arguments, y compris le resultat. C'est finalement
plus proche effectivement de la boucle que de la récursivité pure.

Un exemple classique, si tu veux faire une addition avec uniquement les
incréments à un ou deux, en C tu ferais comme ça :


Merci pour les informations. Je trouve tout cela intéressant et j'ai failli
m'acheter un livre sur le Scheme. Mais comme beaucoup de choses n'existent
pas sous Gimp, je me suis dit que j'allais apprendre sur Scheme mais que je
ne serais pas capable de le reproduire sous Gimp. Donc pour l'instant
j'avance à petits pas avec mes quelques connaissances de programmation.
Par contre les "set!" vont disparaître dans quelques temps.


Le pb de certains langages, scheme ou perl par exemple est qu'il existe
effectivement un « style », mais ce n'est pas forcément une obligation.

Il vaut mieux faire un bon script perl avec des tests à la C qui rende
service, que de passer 6 mois à apprendre un style parfois.

Mais bon... en tant qu'ex schemien, j'ai aussi du mal à résister.

FiLH



--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Roland Barthes.
http://www.filh.org


Avatar
bruno louault

(letrec ((fun (lambda (r a) (if (> a 0)
(fun (+ r 1) (- a 1))
r))))
(fun b a))

ce est quand même pas mal similaire comme structure; nettemment plus que
la structure récursive classique

(letrec ((fun (lambda (r a) (if (> a 0) (+ 1 (fun r (- a 1))
r))))
(fun b a))


:) Bon prochaine leçon les fermetures...

FiLH


ca ressemble a du lisp non ?

Avatar
filh
bruno louault wrote:


(letrec ((fun (lambda (r a) (if (> a 0)
(fun (+ r 1) (- a 1))
r))))
(fun b a))

ce est quand même pas mal similaire comme structure; nettemment plus que
la structure récursive classique

(letrec ((fun (lambda (r a) (if (> a 0) (+ 1 (fun r (- a 1))
r))))
(fun b a))


:) Bon prochaine leçon les fermetures...

FiLH


ca ressemble a du lisp non ?


C'est un dialecte lisp.

FiLH


--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Roland Barthes.
http://www.filh.org


1 2