## MEGA DEMO pour visualiser quelques unes des possibilités extraordinaires de G'MIC
## Créé à partir des exemples de http://www.aljacom.com/~gmic/index.html
## Merci à Ronounours, aux autres auteurs et aux inspirateurs pour la création de ces merveilleux filtres.
## Version du 11 janvier 2012
## par SAMJ
## http://samjcreations.blogspot.com/
## www.aljacom.com/~gmic
## licence : CC-BY http://creativecommons.org/licenses/by/3.0/deed.fr_CA
fonction_mega_demo :
####### Déclaration des variables
temps_origine=@|
# durée de l'affichage en ms
temporisation=2000
# images utilisées pour le démo.
image_source=geo.png
image_source_2=mire.tiff
# afficher et sauvegarder (bilan.png) les caractéristiques du démo. 0=non 1=oui
afficher_bilan=0
$image_source_2 largeur_image_source_2={w} -remove
$image_source_2 hauteur_image_source_2={h} -remove
couleur_remplissage_gimp_imageobject3d=131,79,133,255
demo=0
temps_demo=0
temps_calcul=0
temps_affichage=0
####### FIN déclaration des variables
####### Création d'une ellipse bruitée
# création image 256*256 pixels sans canal alpha
256,256,1,3
# création ellipse
-ellipse 50%,50%,120,80,-45,1,255,0,255
#ajout effet "spread"
-spread 10,0,0
#afficher le résultat
-window[-1] -1,-1,0,-1,ellipse
# attendre
-wait $temporisation
# fermer la fenêtre
-window 0,0
# remove image
-remove
# ajouter 1 à la variable demo pour compter le nombre de démonstrations en fin de programme
demo={$demo+1}
####### gimp_chessboard
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -window[-1] -1,-1,0,-1,"gimp_chessboard" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Afficher une image
$image_source -window[-1] -1,-1,0,-1,$image_source -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source_2 -window[-1] -1,-1,0,-1,$image_source_2 -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Négatif
$image_source -negative -window[-1] -1,-1,0,-1,negative -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source_2 -negative -window[-1] -1,-1,0,-1,negative -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Agrandir une image
$image_source -resize 256,256,1,3,5 -c 0,255 -window[-1] -1,-1,0,-1,resize -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Rotations
$image_source -resize 256,256,1,3,5 -c 0,255 -rotate -30,0,2 -c 0,255 -window[-1] -1,-1,0,-1,"rotate -30 dirichlet" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -rotate -30,1,2 -c 0,255 -window[-1] -1,-1,0,-1,"rotate -30 neumann" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -rotate -30,2,2 -c 0,255 -window[-1] -1,-1,0,-1,"rotate -30 cyclic" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Opération +
$image_source -resize $largeur_image_source_2,$hauteur_image_source_2,1,3,5 $image_source_2 -+[-2,-1] -n 0,255 -window[-1] -1,-1,0,-1,"Opération +" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Opération *
$largeur_image_source_2,$hauteur_image_source_2,1,3 -gimp_chessboard 2,3,0,0,0,1,0,0,0,255,255,255,255,255 $image_source_2 -*[-1,-2] -n 0,255 -window[-1] -1,-1,0,-1,"Opération *" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize $largeur_image_source_2,$hauteur_image_source_2,1,3,5 $image_source_2 -*[-2,-1] -n 0,255 -window[-1] -1,-1,0,-1,"Opération *" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Flou
$image_source -resize 256,256,1,3,5 -c 0,255 -blur 3,0 -window[-1] -1,-1,0,-1,"blur" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### erode
$image_source -resize 256,256,1,3,5 -c 0,255 -erode 5 -window[-1] -1,-1,0,-1,"erode" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### dilate
$image_source -resize 256,256,1,3,5 -c 0,255 -dilate 15 -window[-1] -1,-1,0,-1,"dilate" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### blur_angular
$image_source -resize 256,256,1,3,5 -c 0,255 -blur_angular 2,0.5,0.5 -window[-1] -1,-1,0,-1,"blur_angular" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### normalize_local
$image_source -resize 256,256,1,3,5 -c 0,255 -normalize_local 10,3,10,10,0,0,255 -c 0,255 -window[-1] -1,-1,0,-1,"normalize_local" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### polygon
256,256,1,3 -polygon 3,50,20,240,200,10,240,1,255,0,255 -window[-1] -1,-1,0,-1,"polygon" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### line
256,256,1,3 X=10 -do -line $X,40,$X,215,1,255,255,0 X={$X+20} -while {$X<256} -window[-1] -1,-1,0,-1,"line" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### spline
256,256,1,3 -spline 127,5,0,0,127,210,800,-400,1,255,0,255 -spline 127,5,0,0,127,210,-800,-400,1,255,255,0 -window[-1] -1,-1,0,-1,"spline" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### text
256,256,1,3 -plasma 4,0.1 -n 0,255 -text Exemple\ G\'MIC,20,20,32,1,1,255,255,255 -window[-1] -1,-1,0,-1,"plasma + text" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### sierpinski
400,400,1,3 -sierpinski 6,50,0,0,100,100,100 -window[-1] -1,-1,0,-1,"sierpinski" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### text_outline
$image_source -resize 256,256,1,3,5 -c 0,255 -text_outline Exemple\ G\'MIC,0,0,32,1,1,255,255,255 -window[-1] -1,-1,0,-1,"text_outline" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gaussian
256,256,1,3 -gaussian 30%,30%,0 -n 0,255 -window[-1] -1,-1,0,-1,"gaussian" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### snowflake
$image_source -resize 256,256,1,3,5 -c 0,255 -snowflake 4,20,20,64,64,107,107,0.9 -window[-1] -1,-1,0,-1,"snowflake" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### maze
-maze 16,16,20 -n 0,255 -negative -window[-1] -1,-1,0,-1,"maze" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### tetris
$image_source -resize 256,256,1,3,5 -c 0,255 -tetris 9 -window[-1] -1,-1,0,-1,"tetris" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### mosaic
$image_source -resize 256,256,1,3,5 -c 0,255 -mosaic 5,1 -window[-1] -1,-1,0,-1,"mosaic edges=1" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -mosaic 5,0 -window[-1] -1,-1,0,-1,"mosaic edges=0" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### puzzle
$image_source -resize 512,512,1,3,5 -c 0,255 -puzzle 6 -window[-1] -1,-1,0,-1,"puzzle" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### sponge
$image_source -resize 256,256,1,3,5 -c 0,255 -sponge 12 -window[-1] -1,-1,0,-1,"sponge" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### hearts
$image_source -resize 256,256,1,3,5 -c 0,255 -hearts 8 -window[-1] -1,-1,0,-1,"hearts" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### color_ellipses
$image_source -resize 256,256,1,3,5 -c 0,255 -color_ellipses 15,20,0.5 -window[-1] -1,-1,0,-1,"color_ellipses" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### ellipsionism
$image_source -resize 256,256,1,3,5 -c 0,255 -ellipsionism 30,10,0.5,0.5,3,0.1 -window[-1] -1,-1,0,-1,"ellipsionism" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### whirls
$image_source -resize 256,256,1,3,5 -c 0,255 -whirls 7,2,0.16,1.8 -window[-1] -1,-1,0,-1,"whirls" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### cartoon
$image_source -resize 256,256,1,3,5 -c 0,255 -cartoon 0.6,140,30,0.15,2.6,10 -window[-1] -1,-1,0,-1,"cartoon" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### drawing
$image_source -resize 256,256,1,3,5 -c 0,255 -drawing 80 -window[-1] -1,-1,0,-1,"drawing" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### draw_whirl
$image_source -resize 256,256,1,3,5 -c 0,255 -draw_whirl 80 -window[-1] -1,-1,0,-1,"draw_whirl" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### stencil
$image_source -resize 256,256,1,3,5 -c 0,255 -stencil 2,60,5 -window[-1] -1,-1,0,-1,"stencil" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### stencilbw
$image_source -resize 256,256,1,3,5 -c 0,255 -stencilbw 22.7,11.5 -window[-1] -1,-1,0,-1,"stencilbw" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### pencilbw
$image_source -resize 256,256,1,3,5 -c 0,255 -pencilbw 3.1,10 -window[-1] -1,-1,0,-1,"pencilbw" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### sketchbw
$image_source -resize 256,256,1,3,5 -c 0,255 -sketchbw 4,45,180,30,0.86,0.03,0.05,0.6,0.1,0.6,0,0.73 -window[-1] -1,-1,0,-1,"sketchbw" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_houghsketchbw
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_houghsketchbw 1.25,10,5,80,0.5,0 $image_source -resize 256,256,1,3,5 -c 0,255 -gimp_compose_overlay[-1,-2] 0.4 -window[-1] -1,-1,0,-1,"gimp_houghsketchbw" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### ditheredbw
$image_source -resize 256,256,1,3,5 -c 0,255 -ditheredbw -window[-1] -1,-1,0,-1,"ditheredbw" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### dotsbw
$image_source -resize 256,256,1,3,5 -c 0,255 -dotsbw 8,30,3 -n 0,255 -window[-1] -1,-1,0,-1,"dotsbw" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### warhol
$image_source -resize 400,400,1,3,5 -c 0,255 -warhol 3,2,1,20 -window[-1] -1,-1,0,-1,"warhol" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### cubism
$image_source -resize 256,256,1,3,5 -c 0,255 -cubism 126,16,45,0.7,0 -window[-1] -1,-1,0,-1,"cubism" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### glow
$image_source -resize 256,256,1,3,5 -c 0,255 -glow 10 -window[-1] -1,-1,0,-1,"glow" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### old_photo
$image_source -resize 256,256,1,3,5 -c 0,255 -old_photo -window[-1] -1,-1,0,-1,"old_photo" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### rodilius
$image_source -resize 256,256,1,3,5 -c 0,255 -rodilius 14,10,300,5,30,1,0 -window[-1] -1,-1,0,-1,"rodilius" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### truchet
256,256,1,3 -truchet 16,3,0 -n 0,225 -window[-1] -1,-1,0,-1,"truchet straight" -wait $temporisation -window 0,0 -remove demo={$demo+1}
256,256,1,3 -truchet 16,3,1 -n 0,225 -window[-1] -1,-1,0,-1,"truchet curved" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### circlism
$image_source -resize 256,256,1,3,5 -c 0,255 -circlism 2,10,8,4,4 -window[-1] -1,-1,0,-1,"circlism" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### texturize_paper
$image_source -resize 256,256,1,3,5 -c 0,255 -texturize_paper -window[-1] -1,-1,0,-1,"texturize_paper" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### texturize_canvas
$image_source -resize 256,256,1,3,5 -c 0,255 -texturize_canvas 40,4,0.7 -window[-1] -1,-1,0,-1,"texturize_canvas" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### ripple
$image_source -resize 256,256,1,3,5 -c 0,255 -ripple 15,10,2,45,0 -window[-1] -1,-1,0,-1,"ripple" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### fire_edges
$image_source -resize 256,256,1,3,5 -c 0,255 -fire_edges 0.5,0.1,0.6 -window[-1] -1,-1,0,-1,"fire_edges" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### kuwahara
$image_source -resize 256,256,1,3,5 -c 0,255 -kuwahara 3 -window[-1] -1,-1,0,-1,"kuwahara" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### euclidean2polar
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -euclidean2polar 0.5,0.5,1,1 -window[-1] -1,-1,0,-1,"euclidean2polar" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### polar2euclidean
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -euclidean2polar 0.5,0.5,1,1 -polar2euclidean 0.5,0.5,1,1 -window[-1] -1,-1,0,-1,"euclidean2polar + polar2euclidean" -wait $temporisation -window 0,0 -remove demo={$demo+1}
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -polar2euclidean 0.5,0.5,1,1 -window[-1] -1,-1,0,-1,"polar2euclidean" -wait $temporisation -window 0,0 -remove demo={$demo+1}
512,512,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 X=0 -do -euclidean2polar 0.5,0.5,1,1 -polar2euclidean 0.5,0.5,1,1 X={$X+1} -while {$X<20} -window[-1] -1,-1,0,-1,$X" * (euclidean2polar + polar2euclidean)" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### warp_perspective
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -warp_perspective 2,2,0.5,50,20,1 -window[-1] -1,-1,0,-1,"warp_perspective" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### water
$image_source -resize 256,256,1,3,5 -c 0,255 -water 30,0.5 -window[-1] -1,-1,0,-1,"water" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### wave
$image_source -resize 256,256,1,3,5 -c 0,255 -wave 3,0.5,30,30 -window[-1] -1,-1,0,-1,"wave" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### twirl
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -twirl 1.5,0.5,0.5,0 -window[-1] -1,-1,0,-1,"twirl" -wait $temporisation -window 0,0 -remove demo={$demo+1}
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -twirl 1.5,0.5,0.5,1 -window[-1] -1,-1,0,-1,"twirl" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### map_sphere
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -map_sphere 256,256,100,0.7 -window[-1] -1,-1,0,-1,"map_sphere" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -map_sphere 256,256,100,0.7 -window[-1] -1,-1,0,-1,"map_sphere" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### flower
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -flower 30,64,0,0,0.5,0.5,0 -window[-1] -1,-1,0,-1,"flower" -wait $temporisation -window 0,0 -remove demo={$demo+1}
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -flower 30,8,0,0,0.5,0.5,1 -window[-1] -1,-1,0,-1,"flower" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### zoom
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -zoom 0.5,0.5,0.5,0,0 -window[-1] -1,-1,0,-1,"zoom = 0.5" -wait $temporisation -window 0,0 -remove demo={$demo+1}
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -zoom 4,0.5,0.5,0,1 -window[-1] -1,-1,0,-1,"zoom = 4" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### fisheye
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -fisheye 50,50,100,2 -n 0,255 -window[-1] -1,-1,0,-1,"fisheye" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### deform
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -deform 50 -window[-1] -1,-1,0,-1,"deform" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### kaleidoscope
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -kaleidoscope 0.5,0.5,100,6,1 -window[-1] -1,-1,0,-1,"kaleidoscope" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### rotoidoscope
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -rotoidoscope 50%,50%,10,0.1,2 -window[-1] -1,-1,0,-1,"rotoidoscope" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gradient_norm
$image_source -resize 256,256,1,3,5 -c 0,255 -gradient_norm -c 0,255 -window[-1] -1,-1,0,-1,"gradient_norm" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gradient_orientation
$image_source -resize 256,256,1,3,5 -c 0,255 -gradient_orientation 1 -c 0,255 -n 0,255 -window[-1] -1,-1,0,-1,"gradient_orientation" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gradient2rgb
$image_source -resize 256,256,1,3,5 -c 0,255 -gradient2rgb 0 -window[-1] -1,-1,0,-1,"gradient2rgb" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### laplacian
$image_source -resize 256,256,1,3,5 -c 0,255 -laplacian -c 0,255 -n 0,255 -window[-1] -1,-1,0,-1,"laplacian" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### edges
$image_source -resize 256,256,1,3,5 -c 0,255 -edges 10% -c 0,255 -n 0,255 -window[-1] -1,-1,0,-1,"edges" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### isophotes
$image_source -resize 256,256,1,3,5 -c 0,255 -isophotes 5 -window[-1] -1,-1,0,-1,"isophotes" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### topographic_map
$image_source -resize 256,256,1,3,5 -c 0,255 -topographic_map 20,5 -window[-1] -1,-1,0,-1,"topographic_map" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### segment_watershed
$image_source -resize 256,256,1,3,5 -c 0,255 -segment_watershed 30,1 -n 0,255 -window[-1] -1,-1,0,-1,"segment_watershed" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### append_tiles
256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 $image_source -append_tiles 2,1 -window[-1] -1,-1,0,-1,"append_tiles" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### expand_x
$image_source -resize 256,256,1,3,5 -c 0,255 -expand_x 200,1 -window[-1] -1,-1,0,-1,"expand_x" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### expand_y
$image_source -resize 256,256,1,3,5 -c 0,255 -expand_y 200,1 -window[-1] -1,-1,0,-1,"expand_y" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### expand_xy
$image_source -resize 256,256,1,3,5 -c 0,255 -expand_xy 200,1 -window[-1] -1,-1,0,-1,"expand_xy" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### shrink_x
$image_source -resize 256,256,1,3,5 -c 0,255 -shrink_x 200 -window[-1] -1,-1,0,-1,"shrink_x" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### shrink_y
$image_source -resize 256,256,1,3,5 -c 0,255 -shrink_y 200 -window[-1] -1,-1,0,-1,"shrink_y" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### shrink_xy
$image_source -resize 256,256,1,3,5 -c 0,255 -shrink_xy 200 -window[-1] -1,-1,0,-1,"shrink_xy" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### elevate
$image_source -resize 256,256,1,3,5 -c 0,255 -elevate 100,1,1 -window[-1] -1,-1,0,-1,"elevate" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### imagesphere3d
256,256,1,4 -gimp_chessboard 8,8,0,255,0,255,255,0,255,255,0,255,255,255 -imagesphere3d 72,72 -gimp_render3d 800,800,0.4,25,25,10,45,0,0,-100,0.5,0.7,2 -autocrop 0 -window[-1] -1,-1,0,-1,"imagesphere3d" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### elevation3d
-elevation3d "'30*sin(x*y)^2'",-4,-4,4,4 -color3d 255,127,63,1 -gimp_render3d 800,800,0.4,25,25,10,45,0,0,-100,0.5,0.7,3 -autocrop 0 -window[-1] -1,-1,0,-1,"elevation3d" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### spherical3d
-spherical3d 64,64,"abs(1+0.5*cos(3*phi)*sin(4*theta))" -color3d 63,127,255,1 -gimp_render3d 800,800,0.4,25,25,10,45,0,0,-100,0.5,0.7,3 -autocrop 0 -window[-1] -1,-1,0,-1,"spherical3d" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### superformula3d
-superformula3d 1024,6,2,4,16 -color3d 31,127,127,1 -gimp_render3d 800,800,0.4,25,25,10,45,0,0,-100,0.5,0.7,3 -autocrop 0 -window[-1] -1,-1,0,-1,"superformula3d" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### noise
$image_source -resize 256,256,1,3,5 -c 0,255 -noise 50,4 -window[-1] -1,-1,0,-1,"noise" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### to_gray
$image_source -resize 256,256,1,3,5 -c 0,255 -to_gray -n 0,255 -window[-1] -1,-1,0,-1,"to_gray" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### apply_gamma
$image_source -resize 256,256,1,3,5 -c 0,255 -apply_gamma 2.2 -window[-1] -1,-1,0,-1,"apply_gamma" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### apply_curve
$image_source -resize 256,256,1,3,5 -c 0,255 -apply_curve 1,0,0,128,175,255,255 -window[-1] -1,-1,0,-1,"apply_curve" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### threshold2
$image_source -resize 256,256,1,3,5 -c 0,255 -threshold2 0,50% -n 0,255 -window[-1] -1,-1,0,-1,"threshold2" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### fill_color
256,256,1,4 -fill_color 255,255,0,127 -window[-1] -1,-1,0,-1,"fill_color" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### solarize
$image_source -resize 256,256,1,3,5 -c 0,255 -solarize -to_gray -n 0,255 -window[-1] -1,-1,0,-1,"solarize" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### sepia
$image_source -resize 256,256,1,3,5 -c 0,255 -sepia -window[-1] -1,-1,0,-1,"sepia" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### mix_rgb
$image_source -resize 256,256,1,3,5 -c 0,255 -mix_rgb 0,1,0,0,0,0,0,0,0 -window[-1] -1,-1,0,-1,"mix_rgb" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -mix_rgb 0,0,0,0,1,0,0,0,0 -window[-1] -1,-1,0,-1,"mix_rgb" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -mix_rgb 0,0,0,0,0,0,0,1,0 -window[-1] -1,-1,0,-1,"mix_rgb" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### plasma
256,256,1,3 -plasma 10,3 -blur 10 -window[-1] -1,-1,0,-1,"plasma + blur" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### transfer_colors
$image_source -resize 256,256,1,3,5 --rand 0,255 -reverse -transfer_colors 1 -window[-1] -1,-1,0,-1,"transfer_colors" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### frame
$image_source -resize 256,256,1,3,5 -c 0,255 -frame 2,2,255,255,255 -frame 2,2,0,0,0 -frame 36,36,255,255,255 -window[-1] -1,-1,0,-1,"frame" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### frame_fuzzy
$image_source -resize 256,256,1,3,5 -c 0,255 -frame_fuzzy 10,10,5,1,255,255,255,255 -frame 10,10,255,255,255 -window[-1] -1,-1,0,-1,"frame_fuzzy" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### frame_round
$image_source -resize 256,256,1,3,5 -c 0,255 -frame_round 40,40,5,1,255,255,0,255 -frame 10,10,255,255,0 -window[-1] -1,-1,0,-1,"frame_round" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### frame_pattern
$image_source -resize 256,256,1,3,5 -c 0,255 -frame_pattern 6,1,1 -window[-1] -1,-1,0,-1,"frame_pattern" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### frame_pattern
$image_source -resize 256,256,1,3,5 -c 0,255 -frame_pattern 9,1,1 -frame_pattern 3,1,1 -window[-1] -1,-1,0,-1,"frame_pattern" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### imagegrid
$image_source -resize 256,256,1,3,5 -c 0,255 -imagegrid {w/8},{h/8} -window[-1] -1,-1,0,-1,"imagegrid" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### taquin
$image_source -resize 256,256,1,3,5 -c 0,255 -taquin 5,5 -window[-1] -1,-1,0,-1,"taquin" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### array
$image_source -resize 256,256,1,3,5 -c 0,255 -array 2,3,1 -window[-1] -1,-1,0,-1,"array" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### array_fade
$image_source -resize 256,256,1,3,5 -c 0,255 -array_fade 2,3,0,100,1 -window[-1] -1,-1,0,-1,"array_fade" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### array_mirror
$image_source -resize 256,256,1,3,5 -c 0,255 -array_mirror 1,1,1 -window[-1] -1,-1,0,-1,"array_mirror" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### array_random
$image_source -resize 256,256,1,3,5 -c 0,255 -array_random 3,3,3,3 -window[-1] -1,-1,0,-1,"array_random" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -array_random 3,3,3,3 -window[-1] -1,-1,0,-1,"array_random" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### rotate_tiles
$image_source -resize 256,256,1,3,5 -c 0,255 -rotate_tiles 45,3,3 -window[-1] -1,-1,0,-1,"rotate_tiles" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### linearize_tiles
$image_source -resize 256,256,1,3,5 -c 0,255 -linearize_tiles 20,20 -c 0,255 -window[-1] -1,-1,0,-1,"linearize_tiles" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### quadratize_tiles
$image_source -resize 256,256,1,3,5 -c 0,255 -quadratize_tiles 20,20 -c 0,255 -window[-1] -1,-1,0,-1,"quadratize_tiles" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### colormap
$image_source -colormap 20,0 -resize 256,256,1,3,5 -window[-1] -1,-1,0,-1,"colormap" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### autoindex
$image_source -resize 256,256,1,3,5 -c 0,255 -autoindex 4,1,1 -window[-1] -1,-1,0,-1,"autoindex" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### lightrays
$image_source -resize 256,256,1,3,5 -c 0,255 -lightrays 53.68,0.35,0.25,0.02,0.11 -window[-1] -1,-1,0,-1,"lightrays" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_array_color
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_array_color 5,5,0.5 -window[-1] -1,-1,0,-1,"gimp_array_color" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_rotate_tiles
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_rotate_tiles 5,5,15,1 -window[-1] -1,-1,0,-1,"gimp_rotate_tiles" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_shift_tiles
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_shift_tiles 10,10,10,1 -window[-1] -1,-1,0,-1,"gimp_shift_tiles" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_array_pattern
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_array_pattern 10,10,80,180,30,1,1 -c 0,255 -window[-1] -1,-1,0,-1,"gimp_array_pattern" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_tunnel
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_tunnel 4,80,0.5,0.5,0.2 -c 0,255 -window[-1] -1,-1,0,-1,"gimp_tunnel" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_polaroid
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_polaroid 10,20,0,0,3,30 -c 0,255 -window[-1] -1,-1,0,-1,"gimp_polaroid" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_frame_round
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_frame_round 6,20,0.1,0,255,255,255,255,0,0.1,3 -c 0,255 -window[-1] -1,-1,0,-1,"gimp_frame_round" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### old_photo
$image_source -resize 256,256,1,3,5 -c 0,255 -old_photo -window[-1] -1,-1,0,-1,"old_photo" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_reflect
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_reflect 50,1,110,160,190,64,0,1.5,0,-3,7,1.5 -window[-1] -1,-1,0,-1,"gimp_reflect" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_kaleidoscope
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_kaleidoscope 0.5,0.5,0,0,100,10,1 -window[-1] -1,-1,0,-1,"gimp_kaleidoscope" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_rotoidoscope
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_rotoidoscope 0.5,0.5,10,0.5,2 -window[-1] -1,-1,0,-1,"gimp_rotoidoscope" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_color_abstraction
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_color_abstraction 1,10,0.2 -n 0,255 -window[-1] -1,-1,0,-1,"gimp_color_abstraction" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_lylejk_painting
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_lylejk_painting 5,4,50 -window[-1] -1,-1,0,-1,"gimp_lylejk_painting" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_kuwahara
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_kuwahara 1,3,0 -window[-1] -1,-1,0,-1,"gimp_kuwahara" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_mix_rgb
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_mix_rgb 4,0,0,4,0,0,4,0,0,0,3 -window[-1] -1,-1,0,-1,"gimp_mix_rgb" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_bwrecolorize
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_bwrecolorize 1,1,1,0,0,1,1,2,255,0,0,255,127,127,127,255 -window[-1] -1,-1,0,-1,"gimp_bwrecolorize" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_map_tones
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_map_tones 0,0,0,200,2 -window[-1] -1,-1,0,-1,"gimp_map_tones" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_normalize_local
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_normalize_local 2,6,5,20,1,3 -window[-1] -1,-1,0,-1,"gimp_normalize_local" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_replace_color
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_replace_color 29.64,0,235,182,164,255,255,255,255,255 -window[-1] -1,-1,0,-1,"gimp_replace_color" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_linear_gradient
256,256,1,3 -gimp_linear_gradient 0,0,255,255,255,255,0,255,0,45,0,100 -window[-1] -1,-1,0,-1,"gimp_linear_gradient" -wait $temporisation -window 0,0 -remove demo={$demo+1}
256,256,1,3 -gimp_radial_gradient 0,0,255,255,255,255,0,255,0,0,100,50,50 -window[-1] -1,-1,0,-1,"gimp_linear_gradient" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_corner_gradient
256,256,1,3 -gimp_corner_gradient 0,0,255,255,255,255,0,255,0,255,0,255,255,0,255,255 -window[-1] -1,-1,0,-1,"gimp_corner_gradient" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_colormap
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_colormap 0,0,4,6 -window[-1] -1,-1,0,-1,"gimp_colormap" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_metallic
## regression $image_source -resize 256,256,1,3,5 -c 0,255 -gimp_metallic 0.59,4.18,1 -window[-1] -1,-1,0,-1,"gimp_metallic" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 256,256,1,3,5 -c 0,255 -m mega_demo.txt -gimp_metallic 0.59,4.18,1 -window[-1] -1,-1,0,-1,"gimp_metallic by Tom Keil" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_edge_offsets
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_edge_offsets 0,15,4,1,0 -window[-1] -1,-1,0,-1,"gimp_edge_offsets" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_segment_watershed
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_segment_watershed 2,1,3 -window[-1] -1,-1,0,-1,"gimp_segment_watershed" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_morpho
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_morpho 1,7,0,0,14,1 -window[-1] -1,-1,0,-1,"gimp_morpho" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_skeleton
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_skeleton 0,0,0.25,0 -window[-1] -1,-1,0,-1,"gimp_skeleton" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_warp_perspective
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_warp_perspective 1.73,0,1,50,50,0,0,2 -window[-1] -1,-1,0,-1,"gimp_warp_perspective" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_transform_polar
512,512,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -gimp_transform_polar 1,50,50,r+R/10*cos(a*5),a,1 -window[-1] -1,-1,0,-1,"gimp_transform_polar" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_8bits
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_8bits 25,800,16,1 -window[-1] -1,-1,0,-1,"gimp_8bits" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_dices
$image_source -resize 800,800,1,3,5 -c 0,255 -gimp_dices 1,16,1 -window[-1] -1,-1,0,-1,"gimp_dices" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -resize 800,800,1,3,5 -c 0,255 -gimp_dices 1,16,0 -window[-1] -1,-1,0,-1,"gimp_dices" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_plaid_texture
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_plaid_texture 30,2,30,90,3,400 -window[-1] -1,-1,0,-1,"gimp_plaid_texture" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_truchet
512,512,1,4 -gimp_truchet 16,3,1,1,1 -n 0,225 -window[-1] -1,-1,0,-1,"gimp_truchet" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_imageobject3d
$image_source -gimp_imageobject3d 0,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,2 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 0" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 1,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,4 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 1" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 2,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,4 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 2" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 3,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,1 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 3" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 4,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,4 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 4" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 5,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,4 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 5" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 6,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,4 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 6" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 7,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,4 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 7" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source -gimp_imageobject3d 8,512,512,0.5,57,41,21,45,0,0,-100,0.5,0.7,4 -autocrop 0 -gimp_replace_color 1,0,0,0,0,0,$couleur_remplissage_gimp_imageobject3d -window[-1] -1,-1,0,-1,"gimp_imageobject3d 8" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_polka_dots
256,256,1,3 -fill_color 255,255,255 -gimp_polka_dots 80,20,50,50,0,0.5,0.1,1,255,0,0,255 -window[-1] -1,-1,0,-1,"gimp_polka_dots" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_equation_plot
256,256,1,3 -fill_color 255,255,255 -gimp_equation_plot X*c+10*cos(X+c+?),-10,10,100,3,2,0 -window[-1] -1,-1,0,-1,"gimp_equation_plot" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_compose_fade
$largeur_image_source_2,$hauteur_image_source_2,1,4 -plasma 4,0.1 -n 0,255 $image_source_2 -to_rgba -gimp_compose_fade 1,0,0,5,0,0,0.5,0.5,0,0 -window[-1] -1,-1,0,-1,"plasma + gimp_compose_fade" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### compose_average
$largeur_image_source_2,$hauteur_image_source_2,1,3 -plasma 4,0.1 -n 0,255 $image_source_2 -compose_average -window[-1] -1,-1,0,-1,"plasma + compose_average" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### compose_multiply
$largeur_image_source_2,$hauteur_image_source_2,1,3 -plasma 4,0.1 -n 0,255 $image_source_2 -compose_multiply -window[-1] -1,-1,0,-1,"plasma + ccompose_multiply" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### compose_lighten
$largeur_image_source_2,$hauteur_image_source_2,1,3 -plasma 4,0.1 -n 0,255 $image_source_2 -compose_lighten -window[-1] -1,-1,0,-1,"plasma + compose_lighten" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### compose_median
$largeur_image_source_2,$hauteur_image_source_2,1,3 -plasma 4,0.1 -n 0,255 $image_source_2 -compose_median -window[-1] -1,-1,0,-1,"plasma + compose_median" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### cpointcloud3d
$image_source -n 0,255 -pointcloud3d -gimp_render3d 1024,1024,0.4,25,25,10,45,0,0,-100,0.5,0.7,2 -autocrop 0 -window[-1] -1,-1,0,-1,"pointcloud3d" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### cracks
$image_source -resize 256,256,1,3,5 -c 0,255 -cracks 0.4,60,1 -window[-1] -1,-1,0,-1,"cracks" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### stripes_y
$image_source -resize 256,256,1,3,5 -c 0,255 -stripes_y 150 -window[-1] -1,-1,0,-1,"stripes_y" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### piechart
$image_source_2 -resize 512,512,1,3,5 -c 0,255 -to_rgb -piechart 50,0,0,0,"Red",55,255,0,0,"Green",40,0,255,0,"Blue",30,128,128,255,"Other",5,128,128,128 -window[-1] -1,-1,0,-1,"piechart" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### frame_cube
$image_source -resize 512,512,1,3,5 -c 0,255 -frame_cube 1,0,0,0,0,0,0 -window[-1] -1,-1,0,-1,"frame_cube" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### sort_list (ne pas copier car fonction -window spéciale)
$image_source $image_source_2 -resize 400,400,1,3,5 -c 0,255 -sort_list + -window -1,-1,0,-1,"sort_list +" -wait $temporisation -window 0,0 -remove demo={$demo+1}
$image_source $image_source_2 -resize 400,400,1,3,5 -c 0,255 -sort_list - -window -1,-1,0,-1,"sort_list -" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### display_polar
300,1,1,1,'0.3+abs(cos(10*pi*x/w))+?(0.4)' -display_polar 512,512,4,200,255,200 -window[-1] -1,-1,0,-1,"display_polar" -wait $temporisation -window 0,0 -remove demo={$demo+1}
#################### animations
####### gimp_animate_glow
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_animate_glow 6,1,0,0,0,8 -window -1,-1,0,-1,"gimp_animate_glow" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### gimp_animate_pencilbw
$image_source -resize 256,256,1,3,5 -c 0,255 -gimp_animate_pencilbw 6,1,0,0,2.3,10,0.3,90 -window -1,-1,0,-1,"ggimp_animate_pencilbw" -wait $temporisation -window 0,0 -remove demo={$demo+1}
#################### demos samj
####### Spirale
800,800,1,3 -m mega_demo.txt -developpante 400,400,10,0,10,0.1,2,3,0,255,255 -developpante 400,400,10,0,5,-0.1,2,2,255,255,0 -window[-1] -1,-1,0,-1,"Spirales par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Spirale
800,800,1,3 -m mega_demo.txt -spi_gimp 400,400,10,10,0.1,3,1,255,255,0,0 -window[-1] -1,-1,0,-1,"Spirale par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Losanges
800,800,1,3 -m mega_demo.txt -losanges 32,24,0,8,8,0,255,255,0,0,0,0 -blur 1 -window[-1] -1,-1,0,-1,"Losanges par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Ellipses
800,800,1,3 -m mega_demo.txt -geo_ellipses 16,32,45,8,8,0,127,0,0,255,255,255 -blur 1 -window[-1] -1,-1,0,-1,"Ellipses par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Triangle 1 sur 2
800,800,1,3 -m mega_demo.txt -triangles_1_2 20,0,8,8,0,0,0,0,255,0,255 -window[-1] -1,-1,0,-1,"Triangle 1 sur 2 par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Triangles
800,800,1,3 -m mega_demo.txt -triangles 20,0,8,8,0,255,0,255,255,255,0,0,0,0 -window[-1] -1,-1,0,-1,"Triangles par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
800,800,1,3 -m mega_demo.txt -triangles 20,45,15,15,0,255,0,255,255,255,0,0,0,0 -window[-1] -1,-1,0,-1,"Triangles par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### Étoiles
800,800,1,3 -m mega_demo.txt -etoiles 20,0,8,8,0,0,0,255,255,0,0,255,255,255 -window[-1] -1,-1,0,-1,"Étoiles par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1}
####### z_titi_colors (temporaire)
$image_source -resize 800,800,1,3,5 -c 0,255 -m mega_demo.txt -z_titi_colors 15 -window[-1] -1,-1,0,-1,"Masque gris de z_titi_colors par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1} -file_rm test_etude_4_polygones.png
$image_source -resize 800,800,1,3,5 -c 0,255 -m mega_demo.txt -z_titi_colors 15 geo.png -resize 800,800,1,3,5 -c 0,255 -gimp_compose_hardlight[-1,0] 1,0 -window[-1] -1,-1,0,-1,"z_titi_colors par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1} -file_rm test_etude_4_polygones.png
####### voronoi_test
$image_source -resize 800,800,1,3,5 -c 0,255 -m mega_demo.txt -voronoi_test 1,0,0,essai_voronoi.png -apply_gamma[-1] 1.5 -gimp_compose_softlight 1 -window[-1] -1,-1,0,-1,"voronoi_test par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1} -file_rm test_etude_4_polygones.png
####### etude_3_cercles par SAMJ
$image_source -resize 1024,1024,1,3,5 -c 0,255 -m mega_demo.txt -etude_3_cercles 6,2,3,0,test_etude_3_cercles.png -window[-2] -1,-1,0,-1,"etude_3_cercles par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1} -file_rm test_etude_3_cercles.png
####### etude_3_cercles par SAMJ
$image_source -resize 1024,1024,1,3,5 -c 0,255 -m mega_demo.txt -etude_4_polygones 8,0,test_etude_4_polygones.png -window[-2] -1,-1,0,-1,"etude_4_polygones par SAMJ" -wait $temporisation -window 0,0 -remove demo={$demo+1} -file_rm test_etude_4_polygones.png
###### Fin des démonstrations
256,256,1,4 -plasma 10,3 -n 0,255 -blur 10 --solarize -to_gray -n 0,255 -text FIN,15,20,200,1,255,255,255,255 -window[-1] -1,-1,0,-1,"THE END" -wait $temporisation -window 0,0 -remove demo={$demo+1}
temps_fin=@|
temps_demo={$temps_fin-$temps_origine}
temps_affichage={$demo*$temporisation}
temps_calcul={$temps_demo-$temps_affichage}
-if {$afficher_bilan==1} 800,180,1,3 -fill_color 255,255,255,255 -text Nb\ de\ démos.\ \=\ $demo\nDurée\ démonstration\ \=\ $temps_demo\nDurée\ affichage\ \=\ $temps_affichage\nTemps\ de\ calcul\ =\ $temps_calcul,20,20,32,1,0,0,0,255 -window[-1] -1,-1,0,-1,"Bilan" -o bilan.png -wait 10000 -endif
#######################################################################################################################################################################################################################################################################################################################################
########################################################################################################################################################
####### #######
####### etude_3_cercles version du 12 janvier 2012 #######
####### #######
########################################################################################################################################################
## par SAMJ
## http://samjcreations.blogspot.com/
## www.aljacom.com/~gmic
## licence : CC-BY http://creativecommons.org/licenses/by/3.0/deed.fr_CA
##
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_3_cercles.txt -etude_3_cercles 8,0,6,1,test.png (que des points)
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_3_cercles.txt -etude_3_cercles 8,1,6,1,test.png (trou entouré de gros points)
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_3_cercles.txt -etude_3_cercles 6,2,3,1,test.png (petit point entouré de gros points)
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_3_cercles.txt -etude_3_cercles 6,2,8,1,test.png (gros point en contact avec de gros points)
##
## Créer une image avec des cercles définis en rayon et possibilité de sauvegarder des masques pour Gimp.
## Le premier paramètre indique le diamètre du rayon des cercles principaux en pixels >= 8
## Le deuxième paramètre indique le style final :
## 1 pour des points identiques
## 2 pour des points alternés
## 3 pour un petit point entouré de gros points
## Le troisième paramètre indique le diamètre du petit rayon des cercles en pixels
## Le quatrième paramètre indique la possibilité de sauvegarder des masques pour ouverture dans Gimp (1=oui).
## Le cinquième paramètre indique le nom de sauvegarde du résultat et des masques.
## Les contrôles des paramètres ne sont pas programmés => faire attention :o)
##
## exemple en ajoutant un flou et en enregistrant le résultat flouté sous test_blur.png :
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_3_cercles.txt -etude_3_cercles 8,0,6,0,test.png -blur[-2] 1 -o[0] test_blur.png
##
## blog http://samjcreations.blogspot.com/2012/01/images-composees-de-cercles-realisees.html
etude_3_cercles :
-verbose -
rayon_en_pixels=$1
resultat_alterne=$2
petit_rayon_en_pixels=$3
sauvegarde_des_masques=$4
nom_de_sauvegarde=$5
cote_carre_reduit=0 ## variable historique pour éviter de modifier les anciens codes
diametre_en_pixels={$1*2}
largeur_image_source={w}
hauteur_image_source={h}
-resize {$largeur_image_source/$diametre_en_pixels},{$hauteur_image_source/$diametre_en_pixels}
largeur_image_temporaire={w}
hauteur_image_temporaire={h}
-resize {$largeur_image_temporaire*$diametre_en_pixels},{$hauteur_image_temporaire*$diametre_en_pixels}
-o n0$nom_de_sauvegarde ## gros carrés de couleurs
## faire un masque avec des gros ronds noirs
largeur_image_temporaire={w}
hauteur_image_temporaire={h}
X={$rayon_en_pixels-1}
Y={$rayon_en_pixels-1}
compteurX=0
compteurY=1
## Début boucle
-do
###-e boucle largeur=$X
#_________
-do
## créer cercles
-if {$resultat_alterne>=1}
-if {$compteurX%2==1}
-if {$compteurY%2==1}
compteurX={$compteurX+1}
-ellipse $X,$Y,{$rayon_en_pixels-1},{$rayon_en_pixels-1},0,255,0,0,0
-else
-if {$resultat_alterne==2}
-ellipse $X,$Y,{$petit_rayon_en_pixels},{$petit_rayon_en_pixels},0,255,0,0,0
-endif
-endif
-else
-if {$compteurY%2==1}
-if {$resultat_alterne==2}
-ellipse $X,$Y,{$petit_rayon_en_pixels},{$petit_rayon_en_pixels},0,255,0,0,0
-endif
-else
-ellipse $X,$Y,{$rayon_en_pixels-1},{$rayon_en_pixels-1},0,255,0,0,0
-endif
-endif
-else
-ellipse $X,$Y,{$rayon_en_pixels-1},{$rayon_en_pixels-1},0,255,0,0,0
-endif
Y={$Y+$diametre_en_pixels}
Y={round($Y)}
Y={int($Y)}
compteurX={$compteurX+1}
-while {$Y<$hauteur_image_temporaire}
#_________
compteurY={$compteurY+1}
X={$X+$diametre_en_pixels}
X={int($X)}
X={round($X)}
Y={$rayon_en_pixels-1}
-while {$X<$largeur_image_temporaire}
## fin de la boucle
-o n1$nom_de_sauvegarde ## gros carrés de couleurs avec ronds noirs
## faire un masque blanc avec des gros ronds noirs
-fill_color 255,255,255
X={$rayon_en_pixels-1}
Y={$rayon_en_pixels-1}
compteurX=1
compteurY=1
## Début boucle
-do
###-e boucle largeur=$X
#_________
-do
## créer cercles
-if {$resultat_alterne>=1}
-if {$compteurX%2==1}
-if {$compteurY%2==1}
compteurX={$compteurX+1}
-ellipse $X,$Y,{$rayon_en_pixels-1},{$rayon_en_pixels-1},0,255,0,0,0
-else
-if {$resultat_alterne==2}
-ellipse $X,$Y,{$petit_rayon_en_pixels},{$petit_rayon_en_pixels},0,255,0,0,0
-endif
-endif
-else
-if {$compteurY%2==1}
-if {$resultat_alterne==2}
-ellipse $X,$Y,{$petit_rayon_en_pixels},{$petit_rayon_en_pixels},0,255,0,0,0
-endif
-else
-ellipse $X,$Y,{$rayon_en_pixels-1},{$rayon_en_pixels-1},0,255,0,0,0
-endif
-endif
-else
-ellipse $X,$Y,{$rayon_en_pixels-1},{$rayon_en_pixels-1},0,255,0,0,0
-endif
Y={$Y+$diametre_en_pixels}
Y={round($Y)}
Y={int($Y)}
compteurX={$compteurX+1}
-while {$Y<$hauteur_image_temporaire}
#_________
compteurY={$compteurY+1}
X={$X+$diametre_en_pixels}
X={int($X)}
X={round($X)}
Y={$rayon_en_pixels-1}
-while {$X<$largeur_image_temporaire}
## fin de la boucle
-o n2$nom_de_sauvegarde ## fond blanc avec ronds noirs
n0$nom_de_sauvegarde [-2] -gimp_compose_screen 1,0 -o[0] $nom_de_sauvegarde ## Resultat
-verbose +
-if {$sauvegarde_des_masques==1}
-e \n\nFin\ du\ script\ etude_3_cercles\nSauvegarde\ des\ masques\ pour\ Gimp\nFichiers\ $nom_de_sauvegarde\ n0$nom_de_sauvegarde\ n1$nom_de_sauvegarde\ n2$nom_de_sauvegarde\n
-else
-file_rm n0$nom_de_sauvegarde
-file_rm n1$nom_de_sauvegarde
-file_rm n2$nom_de_sauvegarde
-e \n\nFin\ du\ script\ etude_3_cercles\nPas\ de\ sauvegarde\ des\ masques\nFichier\ $nom_de_sauvegarde\n
-endif
########################################################################################################################################################
####### #######
####### FIN etude_3_cercles #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### etude_4_polygones version du 13 janvier 2012 #######
####### #######
########################################################################################################################################################
## par SAMJ
## http://samjcreations.blogspot.com/
## www.aljacom.com/~gmic
## licence : CC-BY http://creativecommons.org/licenses/by/3.0/deed.fr_CA
##
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_4_polygones.txt -etude_4_polygones 8,1,test.png
##
## Créer une image avec des cercles définis en rayon et possibilité de sauvegarder des masques pour Gimp.
## Le premier paramètre indique la 1/2 diagonale des carrés en pixels >= 8
## Le deuxième paramètre indique la possibilité de sauvegarder des masques pour ouverture dans Gimp (1=oui).
## Le troisième paramètre indique le nom de sauvegarde du résultat et des masques.
## Les contrôles des paramètres ne sont pas programmés => faire attention :o)
##
## exemples de 2 compositions mélangées compose.png :
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_4_polygones.txt -etude_4_polygones 8,0,test.png -remove lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_4_polygones.txt -etude_4_polygones 16,0,test2.png -remove test.png test2.png -compose_median -o compose.png
## gmic lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_4_polygones.txt -etude_4_polygones 8,0,test.png -remove lena_std.png -resize 1024,1024,1,3,5 -c 0,255 -m etude_4_polygones.txt -etude_4_polygones 6,0,test2.png -remove test.png test2.png -compose_median -o compose.png
##
## blog http://samjcreations.blogspot.com/2012/01/images-composees-de-carres-realisees.html
etude_4_polygones :
-verbose -
demi_carre_en_pixels=$1
sauvegarde_des_masques=$2
nom_de_sauvegarde=$3
cote_carre_reduit=0 ## variable historique pour éviter de modifier les anciens codes
carre_entier_en_pixels={$1*2}
largeur_image_source={w}
hauteur_image_source={h}
-resize {$largeur_image_source/$carre_entier_en_pixels},{$hauteur_image_source/$carre_entier_en_pixels}
largeur_image_temporaire={w}
hauteur_image_temporaire={h}
-resize {$largeur_image_temporaire*$carre_entier_en_pixels},{$hauteur_image_temporaire*$carre_entier_en_pixels}
-o n0$nom_de_sauvegarde ## gros carrés de couleurs
## faire un masque avec des gros ronds noirs
largeur_image_temporaire={w}
hauteur_image_temporaire={h}
X=0
Y=0
## Début boucle
-do
###-e boucle largeur=$X
#_________
-do
## créer des carrés
-polygon 4,{$X+$demi_carre_en_pixels},$Y,{$X+$carre_entier_en_pixels},{$Y+$demi_carre_en_pixels},{$X+$demi_carre_en_pixels},{$Y+$carre_entier_en_pixels},$X,{$Y+$demi_carre_en_pixels},255,0,0,0
Y={$Y+$carre_entier_en_pixels}
Y={round($Y)}
Y={int($Y)}
compteurX={$compteurX+1}
-while {$Y<$hauteur_image_temporaire}
#_________
X={$X+$carre_entier_en_pixels}
X={int($X)}
X={round($X)}
Y=0
-while {$X<$largeur_image_temporaire}
## fin de la boucle
-o n1$nom_de_sauvegarde ## gros carrés de couleurs avec carrés noirs
## faire un masque blanc avec des carrés noirs
-fill_color 255,255,255
X=0
Y=0
## Début boucle
-do
###-e boucle largeur=$X
#_________
-do
## créer des carrés
-polygon 4,{$X+$demi_carre_en_pixels},$Y,{$X+$carre_entier_en_pixels},{$Y+$demi_carre_en_pixels},{$X+$demi_carre_en_pixels},{$Y+$carre_entier_en_pixels},$X,{$Y+$demi_carre_en_pixels},255,0,0,0
Y={$Y+$carre_entier_en_pixels}
Y={round($Y)}
Y={int($Y)}
compteurX={$compteurX+1}
-while {$Y<$hauteur_image_temporaire}
#_________
X={$X+$carre_entier_en_pixels}
X={int($X)}
X={round($X)}
Y=0
-while {$X<$largeur_image_temporaire}
## fin de la boucle
-o n2$nom_de_sauvegarde ## fond blanc avec des carrés noirs
n0$nom_de_sauvegarde [-2] -gimp_compose_screen 1,0 -o[0] $nom_de_sauvegarde ## Resultat
-verbose +
-if {$sauvegarde_des_masques==1}
-e \n\nFin\ du\ script\ etude_4_polygones\nSauvegarde\ des\ masques\ pour\ Gimp\nFichiers\ $nom_de_sauvegarde\ n0$nom_de_sauvegarde\ n1$nom_de_sauvegarde\ n2$nom_de_sauvegarde\n
-else
-file_rm n0$nom_de_sauvegarde
-file_rm n1$nom_de_sauvegarde
-file_rm n2$nom_de_sauvegarde
-e \n\nFin\ du\ script\ etude_4_polygones\nPas\ de\ sauvegarde\ des\ masques\nFichier\ $nom_de_sauvegarde\n
-endif
########################################################################################################################################################
####### #######
####### FIN etude_4_polygones #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### voronoi_test #######
####### #######
########################################################################################################################################################
voronoi_test :
## But : Obtenir un effet "Voronoi"
## par une simple adaptation du script de David Tschumperlé (Ronounours) pour obtenir des cercles colorés
## disponible sur le site http://www.flickr.com/groups/gmic/discuss/72157626317847376/
##
##
## exemple d'appel gmic geo.png -m voronoi_test.txt -voronoi_test 0,0,0,essai_voronoi.png
## exemple d'appel gmic fp091706-016.jpg -m voronoi_test.txt -voronoi_test 1,0,1,essai_voronoi.png
## exemple d'appel gmic fp091706-001.jpg -m voronoi_test.txt -voronoi_test 2,0,1,essai_voronoi.png
## exemple d'appel gmic geo.png -resize 1024,1024,1,3,5 -c 0,255 -m voronoi_test.txt -voronoi_test 1,0,1,essai_voronoi.png
## Le premier paramètre 0 ou 1 indique le genre d'effet arrondi=0 , anguleux=1 avec intensité , rectangulaires=2
## Le deuxième paramètre indique "l'intensité" skeleton de 0 à 10 si le premier paramètre=1
## Le troisième paramètre indique s'il faut créer des fichiers intermédiaires 0=pas de fichier , 1=création de 2 fichiers
## Le quatrième paramètre indique les noms des fichiers intermédiaires qui peuvent être utilisés dans Gimp.
## Les contrôles des paramètres ne sont pas programmés => faire attention :o)
type_voronoi=$1
intensite_skeleton=$2
creer_fichier_de_sortie=$3
fichier_de_sortie=$4
visualiser_resultat_intermediaire=0
-verbose -
100%,100% -noise[-1] 1,2
-*[-2] [-1]
-if {$type_voronoi==0}
--distance[-1] 1
-endif
-if {$type_voronoi==1}
--distance[-1] 1,0 # à voir
-endif
-if {$type_voronoi==2}
--distance[-1] 1,0
-endif
-*[-1] -1
-watershed[-3] [-1]
-*[-1] -1
-if {$visualiser_resultat_intermediaire==1}
-display
-wait 500
-endif
-if {$type_voronoi==1}
-sharpen[-1] 1e6
-skeleton[-1] $intensite_skeleton
-distance[-1] 1
-endif
-n[-1] 0,255
-if {$visualiser_resultat_intermediaire==1}
-display[-1]
-wait 500
-display[-3]
-wait 500
-endif
-remove[-2]
-verbose +
-if {$creer_fichier_de_sortie==1}
-o[-1] gris-$fichier_de_sortie
-o[-2] couleurs-$fichier_de_sortie
-wait 250
-e \n\nFin\ du\ script\ voronoi_test\nSauvegarde\ des\ images\ pour\ Gimp\nFichiers\ gris-$fichier_de_sortie\ couleurs-$fichier_de_sortie\n
-else
-e \n\nFin\ du\ script\ voronoi_test\nPas\ de\ sauvegarde\ des\ images\n
-endif
########################################################################################################################################################
####### #######
####### FIN voronoi_test #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### Z Titi Colors... #######
####### #######
########################################################################################################################################################
z_titi_colors :
## Informations page :
## http://samjcreations.blogspot.com/2012/01/variations-de-couleurs-avec-gimp-et-le.html
## But : Obtenir des effets de couleurs.
## Auteur du script : samj
##
## exemple d'appel gmic geo.png -resize 1024,1024,1,3,5 -c 0,255 -m mega_demo.txt -z_titi_colors 15 geo.png -resize 1024,1024,1,3,5 -c 0,255 -gimp_compose_hardlight[-1,0] 1,0
## Le premier paramètre de 0 à 30 indique le niveau de noirceur
niveau_de_noirceur=$1
-verbose -
# Manière originale étudiée pour obtenir un fond en nuances de gris.
-ditheredbw -blur $niveau_de_noirceur -sharpen 1e6 -blur 1
## fin provisoire en attendant une fonction similaire à relief sous Gimp
-verbose +
########################################################################################################################################################
####### #######
####### FIN Z Titi Colors... #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### Triangles 1 sur 2 version du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
## La commande est sous la forme :
## -m triangles.txt -triangles_1_2 rayon_cercle_inscrit, angle_rotation, espacement_x, espacement_y, motif_transparent, valeur_rouge_motif, valeur_vert_motif, valeur_bleu_motif, valeur_rouge_fond, valeur_vert_fond, valeur_bleu_fond
## où
## rayon_cercle_inscrit = Rayon cercle inscrit du triangle en pixels.
## angle_rotation = Angle de rotation en degrés par rapport au centre du triangle.
## espacement_x = Espacement en pixels des triangles sur l'axe des X.
## espacement_y = Espacement en pixels des triangles sur l'axe des Y.
## motif_transparent = 0->Pas de transparence 1->Transparence 2-> Semi-transparence
## valeur_rouge_motif = Canal rouge couleur triangle.
## valeur_vert_motif = Canal vert couleur triangle.
## valeur_bleu_motif = Canal bleu couleur triangle.
## valeur_rouge_fond = Canal rouge couleur fond.
## valeur_vert_fond = Canal vert couleur fond.
## valeur_bleu_fond = Canal bleu couleur fond.
##
## Exemple de commande :
## gmic 800,800,1,3 -m triangles.txt -triangles_1_2 20,0,8,8,0,0,0,0,255,0,255
##
triangles_1_2 :
-verbose -
rayon_cercle_inscrit=$1
angle_rotation=$2
espacement_x=$3
espacement_y=$4
motif_transparent=$5
valeur_rouge_motif=$6
valeur_vert_motif=$7
valeur_bleu_motif=$8
valeur_rouge_fond=$9
valeur_vert_fond=$10
valeur_bleu_fond=$11
-fill_color $valeur_rouge_fond,$valeur_vert_fond,$valeur_bleu_fond,255
-if {$motif_transparent==0} niveau_transparence=1 -to_rgb -endif
-if {$motif_transparent==1} niveau_transparence=1 -to_rgba -endif
-if {$motif_transparent==2} niveau_transparence=0.5 -to_rgba -endif
diagonale_X={$rayon_cercle_inscrit*2}
diagonale_Y={$rayon_cercle_inscrit*2}
largeur_image={w}
hauteur_image={h}
rayon_cercle_circonscrit={$rayon_cercle_inscrit*2}
cote={$rayon_cercle_inscrit*6/{3^{1/2}}}
decalage_X_centre_trianle_suivant={round({{$cote/2}+$espacement_x})}
point1_X={round({$rayon_cercle_circonscrit*{sin(pi/180*$angle_rotation)}})}
point1_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*$angle_rotation)}})}
point2_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+120})}})}
point2_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+120})}})}
point3_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+240})}})}
point3_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+240})}})}
origine_X=$decalage_X_centre_trianle_suivant
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
####################################
origine_X=0
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
-verbose +
########################################################################################################################################################
####### #######
####### FIN Triangles 1 sur 2 version du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### Étoiles version du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
## La commande est sous la forme :
## -m triangles.txt -triangles_2_2 rayon_cercle_inscrit, angle_rotation, espacement_x, espacement_y, motif_transparent, valeur_rouge_motif, valeur_vert_motif, valeur_bleu_motif, valeur_rouge_motif2, valeur_vert_motif2, valeur_bleu_motif2, valeur_rouge_fond, valeur_vert_fond, valeur_bleu_fond
## où
## rayon_cercle_inscrit = Rayon cercle inscrit du triangle en pixels.
## angle_rotation = Angle de rotation en degrés par rapport au centre du triangle.
## espacement_x = Espacement en pixels des triangles sur l'axe des X.
## espacement_y = Espacement en pixels des triangles sur l'axe des Y.
## motif_transparent = 0->Pas de transparence 1->Transparence 2-> Semi-transparence
## valeur_rouge_motif = Canal rouge couleur triangle 1.
## valeur_vert_motif = Canal vert couleur triangle 1.
## valeur_bleu_motif = Canal bleu couleur triangle 1.
## valeur_rouge_motif2 = Canal rouge couleur triangle 2.
## valeur_vert_motif2 = Canal vert couleur triangle 2.
## valeur_bleu_motif2 = Canal bleu couleur triangle 2.
## valeur_rouge_fond = Canal rouge couleur fond.
## valeur_vert_fond = Canal vert couleur fond.
## valeur_bleu_fond = Canal bleu couleur fond.
##
## Exemple de commande :
## gmic 800,800,1,3 -m triangles.txt -etoiles 20,0,8,8,0,0,0,255,255,0,0,255,255,255
##
etoiles :
-verbose -
rayon_cercle_inscrit=$1
angle_rotation=$2
espacement_x=$3
espacement_y=$4
motif_transparent=$5
valeur_rouge_motif=$6
valeur_vert_motif=$7
valeur_bleu_motif=$8
valeur_rouge_motif2=$9
valeur_vert_motif2=$10
valeur_bleu_motif2=$11
valeur_rouge_fond=$12
valeur_vert_fond=$13
valeur_bleu_fond=$14
-fill_color $valeur_rouge_fond,$valeur_vert_fond,$valeur_bleu_fond,255
-if {$motif_transparent==0} niveau_transparence=1 -to_rgb -endif
-if {$motif_transparent==1} niveau_transparence=1 -to_rgba -endif
-if {$motif_transparent==2} niveau_transparence=0.5 -to_rgba -endif
diagonale_X={$rayon_cercle_inscrit*2}
diagonale_Y={$rayon_cercle_inscrit*2}
largeur_image={w}
hauteur_image={h}
rayon_cercle_circonscrit={$rayon_cercle_inscrit*2}
cote={$rayon_cercle_inscrit*6/{3^{1/2}}}
decalage_X_centre_trianle_suivant={round({{$cote/2}+$espacement_x})}
point1_X={round({$rayon_cercle_circonscrit*{sin(pi/180*$angle_rotation)}})}
point1_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*$angle_rotation)}})}
point2_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+120})}})}
point2_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+120})}})}
point3_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+240})}})}
point3_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+240})}})}
origine_X=$decalage_X_centre_trianle_suivant
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
####################################
origine_X=0
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
####################################
angle_rotation={$angle_rotation+180}
point1_X={round({$rayon_cercle_circonscrit*{sin(pi/180*$angle_rotation)}})}
point1_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*$angle_rotation)}})}
point2_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+120})}})}
point2_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+120})}})}
point3_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+240})}})}
point3_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+240})}})}
origine_X=$decalage_X_centre_trianle_suivant
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif2,$valeur_vert_motif2,$valeur_bleu_motif2
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
####################################
origine_X={{$rayon_cercle_inscrit*2}+$espacement_x+$decalage_X_centre_trianle_suivant}
origine_X=0
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif2,$valeur_vert_motif2,$valeur_bleu_motif2
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
-verbose +
########################################################################################################################################################
####### #######
####### FIN Étoiles version du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### Triangles version du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
## La commande est sous la forme :
## -m triangles.txt -triangles rayon_cercle_inscrit, angle_rotation, espacement_x, espacement_y, motif_transparent, valeur_rouge_motif, valeur_vert_motif, valeur_bleu_motif, valeur_rouge_motif2, valeur_vert_motif2, valeur_bleu_motif2, valeur_rouge_fond, valeur_vert_fond, valeur_bleu_fond
## où
## rayon_cercle_inscrit = Rayon cercle inscrit du triangle en pixels.
## angle_rotation = Angle de rotation en degrés par rapport au centre du triangle.
## espacement_x = Espacement en pixels des triangles sur l'axe des X.
## espacement_y = Espacement en pixels des triangles sur l'axe des Y.
## motif_transparent = 0->Pas de transparence 1->Transparence 2-> Semi-transparence
## valeur_rouge_motif = Canal rouge couleur triangle 1.
## valeur_vert_motif = Canal vert couleur triangle 1.
## valeur_bleu_motif = Canal bleu couleur triangle 1.
## valeur_rouge_motif2 = Canal rouge couleur triangle 2.
## valeur_vert_motif2 = Canal vert couleur triangle 2.
## valeur_bleu_motif2 = Canal bleu couleur triangle 2.
## valeur_rouge_fond = Canal rouge couleur fond.
## valeur_vert_fond = Canal vert couleur fond.
## valeur_bleu_fond = Canal bleu couleur fond.
##
## Exemple de commande :
## gmic 800,800,1,3 -m triangles.txt -triangles 20,0,8,8,0,0,0,255,255,0,0,255,255,255
##
triangles :
-verbose -
rayon_cercle_inscrit=$1
angle_rotation=$2
espacement_x=$3
espacement_y=$4
motif_transparent=$5
valeur_rouge_motif=$6
valeur_vert_motif=$7
valeur_bleu_motif=$8
valeur_rouge_motif2=$9
valeur_vert_motif2=$10
valeur_bleu_motif2=$11
valeur_rouge_fond=$12
valeur_vert_fond=$13
valeur_bleu_fond=$14
-fill_color $valeur_rouge_fond,$valeur_vert_fond,$valeur_bleu_fond,255
-if {$motif_transparent==0} niveau_transparence=1 -to_rgb -endif
-if {$motif_transparent==1} niveau_transparence=1 -to_rgba -endif
-if {$motif_transparent==2} niveau_transparence=0.5 -to_rgba -endif
diagonale_X={$rayon_cercle_inscrit*2}
diagonale_Y={$rayon_cercle_inscrit*2}
largeur_image={w}
hauteur_image={h}
rayon_cercle_circonscrit={$rayon_cercle_inscrit*2}
cote={$rayon_cercle_inscrit*6/{3^{1/2}}}
decalage_X_centre_trianle_suivant={round({{$cote/2}+$espacement_x})}
point1_X={round({$rayon_cercle_circonscrit*{sin(pi/180*$angle_rotation)}})}
point1_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*$angle_rotation)}})}
point2_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+120})}})}
point2_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+120})}})}
point3_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+240})}})}
point3_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+240})}})}
origine_X=$decalage_X_centre_trianle_suivant
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={$rayon_cercle_inscrit+$espacement_y}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
####################################
origine_X=0
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={{$rayon_cercle_inscrit*4}+{$espacement_y*2}}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
####################################
angle_rotation={$angle_rotation+180}
point1_X={round({$rayon_cercle_circonscrit*{sin(pi/180*$angle_rotation)}})}
point1_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*$angle_rotation)}})}
point2_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+120})}})}
point2_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+120})}})}
point3_X={round({$rayon_cercle_circonscrit*{sin(pi/180*{$angle_rotation+240})}})}
point3_Y={round({$rayon_cercle_circonscrit*{cos(pi/180*{$angle_rotation+240})}})}
origine_X=0
origine_Y={{2*$rayon_cercle_inscrit}+$espacement_y}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif2,$valeur_vert_motif2,$valeur_bleu_motif2
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={{2*$rayon_cercle_inscrit}+$espacement_y}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
####################################
origine_X=$decalage_X_centre_trianle_suivant
origine_Y={{$rayon_cercle_inscrit*5}+{$espacement_y*2}}
-do
-do
-polygon 3,{$origine_X+$point1_X},{$origine_Y+$point1_Y},{$origine_X+$point2_X},{$origine_Y+$point2_Y},{$origine_X+$point3_X},{$origine_Y+$point3_Y},$niveau_transparence,$valeur_rouge_motif2,$valeur_vert_motif2,$valeur_bleu_motif2
origine_Y={{{$rayon_cercle_inscrit*6}+{$espacement_y*2}}+$origine_Y}
-while {$origine_Y<$hauteur_image}
origine_X={{2*$decalage_X_centre_trianle_suivant}+$origine_X}
origine_Y={{$rayon_cercle_inscrit*5}+{$espacement_y*2}}
-while {$origine_X<{$largeur_image+$decalage_X_centre_trianle_suivant}}
-verbose +
########################################################################################################################################################
####### #######
####### FIN Triangles version du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### Ellipses du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
## La commande est sous la forme :
## -m fig_geo.txt -geo_ellipses demi_diagonale_X, demi_diagonale_Y, angle_rotation, espacement_x, espacement_y, motif_transparent, valeur_rouge_motif, valeur_vert_motif, valeur_bleu_motif, valeur_rouge_motif2, valeur_vert_motif2, valeur_bleu_motif2, valeur_rouge_fond, valeur_vert_fond, valeur_bleu_fond
## où
## demi_diagonale_X = Valeur en pixels de la demi-diagonale X
## demi_diagonale_Y = Valeur en pixels de la demi-diagonale Y
## angle_rotation = Angle de rotation en degrés par rapport au centre de l'ellipse.
## espacement_x = Espacement en pixels des ellipses sur l'axe des X.
## espacement_y = Espacement en pixels des ellipses sur l'axe des Y.
## motif_transparent = 0->Pas de transparence 1->Transparence 2-> Semi-transparence
## valeur_rouge_motif = Canal rouge couleur ellipse.
## valeur_vert_motif = Canal vert couleur ellipse.
## valeur_bleu_motif = Canal bleu couleur ellipse.
## valeur_rouge_fond = Canal rouge couleur fond.
## valeur_vert_fond = Canal vert couleur fond.
## valeur_bleu_fond = Canal bleu couleur fond.
##
## Exemple de commande :
## gmic 800,800,1,3 -m fig_geo.txt -geo_ellipses 16,32,45,8,8,0,127,0,0,255,255,255
##
geo_ellipses :
-verbose -
demi_diagonale_X=$1
demi_diagonale_Y=$2
angle_rotation=$3
espacement_x=$4
espacement_y=$5
motif_transparent=$6
valeur_rouge_motif=$7
valeur_vert_motif=$8
valeur_bleu_motif=$9
valeur_rouge_fond=$10
valeur_vert_fond=$11
valeur_bleu_fond=$12
-fill_color $valeur_rouge_fond,$valeur_vert_fond,$valeur_bleu_fond,255
-if {$motif_transparent==0} niveau_transparence=1 -to_rgb -endif
-if {$motif_transparent==1} niveau_transparence=1 -to_rgba -endif
-if {$motif_transparent==2} niveau_transparence=0.5 -to_rgba -endif
diagonale_X={$demi_diagonale_X*2
diagonale_Y={$demi_diagonale_Y*2}
largeur_image={w}
hauteur_image={h}
point1_X={round({$demi_diagonale_X*{sin(pi/180*$angle_rotation)}})}
point1_Y={round({$demi_diagonale_X*{cos(pi/180*$angle_rotation)}})}
point2_X={round({$demi_diagonale_Y*{sin(pi/180*{$angle_rotation+90})}})}
point2_Y={round({$demi_diagonale_Y*{cos(pi/180*{$angle_rotation+90})}})}
max_Y={max({abs($point1_X)},{abs($point2_X)})}
max_X={max({abs($point1_Y)},{abs($point2_Y)})}
X={$max_X+$espacement_x}
Y={$max_Y+$espacement_y}
-do
-do
-ellipse $X,$Y,{$demi_diagonale_X},{$demi_diagonale_Y},$angle_rotation,$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
Y={$Y+{$max_Y*2}+$espacement_y}
-while {$Y<$hauteur_image}
X={$X+{$max_X*2}+$espacement_x}
Y={$max_Y+$espacement_y}
-while {$X<$largeur_image}
-verbose +
########################################################################################################################################################
####### #######
####### FIN Ellipses du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### Losanges du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
## La commande est sous la forme :
## -m fig_geo.txt -losanges demi_diagonale_X, demi_diagonale_Y, angle_rotation, espacement_x, espacement_y, motif_transparent, valeur_rouge_motif, valeur_vert_motif, valeur_bleu_motif, valeur_rouge_motif2, valeur_vert_motif2, valeur_bleu_motif2, valeur_rouge_fond, valeur_vert_fond, valeur_bleu_fond
## où
## demi_diagonale_X = Valeur en pixels de la demi-diagonale X
## demi_diagonale_Y = Valeur en pixels de la demi-diagonale Y
## angle_rotation = Angle de rotation en degrés par rapport au centre du losange.
## espacement_x = Espacement en pixels des losanges sur l'axe des X.
## espacement_y = Espacement en pixels des losanges sur l'axe des Y.
## motif_transparent = 0->Pas de transparence 1->Transparence 2-> Semi-transparence
## valeur_rouge_motif = Canal rouge couleur losanges.
## valeur_vert_motif = Canal vert couleur losanges.
## valeur_bleu_motif = Canal bleu couleur losanges.
## valeur_rouge_fond = Canal rouge couleur fond.
## valeur_vert_fond = Canal vert couleur fond.
## valeur_bleu_fond = Canal bleu couleur fond.
##
## Exemple de commande :
## gmic 800,800,1,3 -m fig_geo.txt -losanges 24,12,0,4,4,0,127,0,0,255,255,255
##
losanges :
-verbose -
demi_diagonale_X=$1
demi_diagonale_Y=$2
angle_rotation=$3
espacement_x=$4
espacement_y=$5
motif_transparent=$6
valeur_rouge_motif=$7
valeur_vert_motif=$8
valeur_bleu_motif=$9
valeur_rouge_fond=$10
valeur_vert_fond=$11
valeur_bleu_fond=$12
-fill_color $valeur_rouge_fond,$valeur_vert_fond,$valeur_bleu_fond,255
-if {$motif_transparent==0} niveau_transparence=1 -to_rgb -endif
-if {$motif_transparent==1} niveau_transparence=1 -to_rgba -endif
-if {$motif_transparent==2} niveau_transparence=0.5 -to_rgba -endif
diagonale_X={$demi_diagonale_X*2
diagonale_Y={$demi_diagonale_Y*2}
largeur_image={w}
hauteur_image={h}
point1_X={round({$demi_diagonale_X*{sin(pi/180*$angle_rotation)}})}
point1_Y={round({$demi_diagonale_X*{cos(pi/180*$angle_rotation)}})}
point2_X={round({$demi_diagonale_Y*{sin(pi/180*{$angle_rotation+90})}})}
point2_Y={round({$demi_diagonale_Y*{cos(pi/180*{$angle_rotation+90})}})}
point3_X={round({$demi_diagonale_X*{sin(pi/180*{$angle_rotation+180})}})}
point3_Y={round({$demi_diagonale_X*{cos(pi/180*{$angle_rotation+180})}})}
point4_X={round({$demi_diagonale_Y*{sin(pi/180*{$angle_rotation+270})}})}
point4_Y={round({$demi_diagonale_Y*{cos(pi/180*{$angle_rotation+270})}})}
max_X={max({abs($point1_X)},{abs($point2_X)})}
max_Y={max({abs($point1_Y)},{abs($point2_Y)})}
X={$max_X+$espacement_x}
Y={$max_Y+$espacement_y}
-do
-do
-polygon 4,{$X+$point1_X},{$Y+$point1_Y},{$X+$point2_X},{$Y+$point2_Y},{$X+$point3_X},{$Y+$point3_Y},{$X+$point4_X},{$Y+$point4_Y},$niveau_transparence,$valeur_rouge_motif,$valeur_vert_motif,$valeur_bleu_motif
Y={$Y+{$max_Y*2}+$espacement_y}
-while {$Y<$hauteur_image}
X={$X+{$max_X*2}+$espacement_x}
Y={$max_Y+$espacement_y}
-while {$X<$largeur_image}
-verbose +
########################################################################################################################################################
####### #######
####### FIN Losanges du 30 janvier 2012 #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### Spirales du 3 février 2012 #######
####### #######
########################################################################################################################################################
## La commande est sous la forme :
## gmic 800,800,1,3 -m spirale.txt -spi_gimp centre_origine_X , centre_origine_Y , tours , increment_teta , coeff_dim , rendu , dimension_rendu , r_rendu, v_rendu, b_rendu , sens_rotation
## où
## centre_origine_X : position X centre de la spirale
## centre_origine_Y : position Y centre de la spirale
## tours : nombre de spires
## increment_teta : incrément angle
## coeff_dim : NON UTILISÉ
## rendu : type de rendu Points=1 - Cercles=2 - Mosaique=3
## dimension_rendu : dimensions du rendu en pixels
## r_rendu : valeur rouge du rendu
## v_rendu : valeur vert du rendu
## b_rendu : valeur bleu du rendu
## sens_rotation : sens rotation
##
##
## Exemples de commande :
## gmic 800,800,1,3 -m spirale.txt -spi_gimp 400,400,10,10,0.1,1,1,255,255,0,0
spi_gimp :
-verbose -
centre_origine_X=$1
centre_origine_Y=$2
tours=$3
increment_teta=$4
coeff_dim=$5 ## NON UTILISÉ
rendu=$6
dimension_rendu=$7
r_rendu=$8
v_rendu=$9
b_rendu=$10
sens_rotation=$11
teta={$tours*360}
X_precedent=$centre_origine_X
Y_precedent=$centre_origine_Y
compteur_boucle=0
-do
-if {$sens_rotation==0}
X={$centre_origine_X+{$coeff_dim*round(cos(pi/180*$teta)+{$teta*sin(pi/180*$teta)})}}
Y={$centre_origine_Y+{$coeff_dim*round(sin(pi/180*$teta)+{$teta*cos(pi/180*$teta)})}}
-endif
-if {$sens_rotation==1}
X={$centre_origine_X+{$coeff_dim*-round(cos(pi/180*$teta)+{$teta*sin(pi/180*$teta)})}}
Y={$centre_origine_Y+{$coeff_dim*-round(sin(pi/180*$teta)+{$teta*cos(pi/180*$teta)})}}
-endif
-if {$sens_rotation==2}
X={$centre_origine_X+{$coeff_dim*round(sin(pi/180*$teta)+{$teta*cos(pi/180*$teta)})}}
Y={$centre_origine_Y+{$coeff_dim*round(cos(pi/180*$teta)+{$teta*sin(pi/180*$teta)})}}
-endif
-if {$sens_rotation==3}
X={$centre_origine_X+{$coeff_dim*-round(sin(pi/180*$teta)+{$teta*cos(pi/180*$teta)})}}
Y={$centre_origine_Y+{$coeff_dim*-round(cos(pi/180*$teta)+{$teta*sin(pi/180*$teta)})}}
-endif
-if {$rendu==1}
-point $X,$Y,0,1,$r_rendu,$v_rendu,$b_rendu
-endif
-if {$rendu==2}
-ellipse $X,$Y,$dimension_rendu,$dimension_rendu,0,1,$r_rendu,$v_rendu,$b_rendu
-endif
-if {$rendu==3}
-polygon 3,$centre_origine_X,$centre_origine_Y,$X_precedent,$Y_precedent,$X,$Y,1,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))}
-endif
-if {$rendu==4}
-line $centre_origine_X,$centre_origine_Y,$X,$Y,1,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))}
-endif
-if {$rendu==5}
-if {$compteur_boucle>0}
-line $X_precedent,$Y_precedent,$X,$Y,1,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))}
-endif
-endif
X_precedent=$X
Y_precedent=$Y
compteur_boucle={$compteur_boucle+1}
teta={$teta-$increment_teta}
-while {$teta>0}
-verbose +
########################################################################################################################################################
########################################################################################################################################################
## La commande est sous la forme :
## gmic 800,800,1,3 -m spirale.txt -developpante centre_origine_X , centre_origine_Y , tours , teta , increment_teta , coeff_dim , rendu , dimension_rendu , r_rendu, v_rendu, b_rendu
## où
## centre_origine_X : position X centre de la spirale
## centre_origine_Y : position Y centre de la spirale
## tours : nombre de spires
## teta : angle
## increment_teta : incrément angle
## coeff_dim : signe = sens de la spirale, valeur = espacement des spires
## rendu : type de rendu Points=1 - Cercles=2
## dimension_rendu : dimensions du rendu en pixels
## r_rendu : valeur rouge du rendu
## v_rendu : valeur vert du rendu
## b_rendu : valeur bleu du rendu
##
##
## Exemples de commande :
## gmic 800,800,1,3 -m spirale.txt -developpante 400,400,10,0,10,0.1,1,1,255,255,0
## gmic 800,800,1,3 -m spirale.txt -developpante 400,400,10,0,10,0.1,2,3,0,255,255
## gmic 800,800,1,3 -m spirale.txt -developpante 400,400,10,0,10,0.1,2,3,0,255,255 -developpante 400,400,10,0,5,-0.1,2,2,255,255,0
## gmic 400,400,1,3 -m spirale.txt -developpante 200,200,5,0,10,0.1,2,2,0,255,255 -developpante 200,200,5,0,5,-0.1,2,1,255,255,0 -o spirales_1.png
developpante :
-verbose -
centre_origine_X=$1
centre_origine_Y=$2
tours=$3
teta=$4
increment_teta=$5
coeff_dim=$6
rendu=$7
dimension_rendu=$8
r_rendu=$9
v_rendu=$10
b_rendu=$11
-do
X={$centre_origine_X+{$coeff_dim*round(cos(pi/180*$teta)+{$teta*sin(pi/180*$teta)})}}
Y={$centre_origine_Y+{$coeff_dim*round(sin(pi/180*$teta)+{$teta*cos(pi/180*$teta)})}}
-if {$rendu==1}
-point $X,$Y,0,1,$r_rendu,$v_rendu,$b_rendu
-endif
-if {$rendu==2}
-ellipse $X,$Y,$dimension_rendu,$dimension_rendu,0,1,$r_rendu,$v_rendu,$b_rendu
-endif
teta={$teta+$increment_teta}
-while {$teta<{$tours*360}}
-verbose +
########################################################################################################################################################
########################################################################################################################################################
## La commande est sous la forme :
## gmic 800,800,1,3 -m spirale.txt -spirale_simple centre_origine_X , centre_origine_Y , tours , teta , increment_teta , coeff_dim , rendu , dimension_rendu , r_rendu, v_rendu, b_rendu
## où
## centre_origine_X : position X centre de la spirale
## centre_origine_Y : position Y centre de la spirale
## tours : nombre de spires
## teta : angle
## increment_teta : incrément angle
## coeff_dim : signe = sens de la spirale, valeur = espacement des spires
## rendu : type de rendu Points=1 - Cercles=2
## dimension_rendu : dimensions du rendu en pixels
## r_rendu : valeur rouge du rendu
## v_rendu : valeur vert du rendu
## b_rendu : valeur bleu du rendu
##
##
## Exemples de commande :
## gmic 800,800,1,3 -m spirale.txt -spirale_simple 400,400,10,0,10,0.1,1,1,255,255,0
## gmic 800,800,1,3 -m spirale.txt -spirale_simple 400,400,10,0,10,0.1,2,3,0,255,255
## gmic 800,800,1,3 -m spirale.txt -spirale_simple 400,400,10,0,10,0.1,2,3,0,255,255 -spirale_simple 400,400,10,0,5,-0.1,2,2,255,255,0
## gmic 800,800,1,3 -m spirale.txt -spirale_simple 400,400,10,0,10,0.1,1,1,0,255,255 -developpante 400,400,10,0,1,-0.1,1,1,255,255,0
spirale_simple :
-verbose -
centre_origine_X=$1
centre_origine_Y=$2
tours=$3
teta=$4
increment_teta=$5
coeff_dim=$6
rendu=$7
dimension_rendu=$8
r_rendu=$9
v_rendu=$10
b_rendu=$11
-do
X={$centre_origine_X+round($coeff_dim*$teta*cos(pi/180*$teta))}
Y={$centre_origine_Y+round($coeff_dim*$teta*sin(pi/180*$teta))}
-if {$rendu==1}
-point $X,$Y,0,1,$r_rendu,$v_rendu,$b_rendu
-endif
-if {$rendu==2}
-ellipse $X,$Y,$dimension_rendu,$dimension_rendu,0,1,$r_rendu,$v_rendu,$b_rendu
-endif
teta={$teta+$increment_teta}
-while {$teta<{$tours*360}}
-verbose +
########################################################################################################################################################
# NE PAS UTILISER
########################################################################################################################################################
## gmic 800,800,1,3 -m spirale.txt -spirale_des_jardins
spirale_des_jardins :
## spirale du jardinier (Développante du cercle), construction géométrique
rayon=5 # rayon du piquet central
angle=2000 # nombre de tours
centre_origine_X=400
centre_origine_Y=400
circonference={2*pi*$rayon}
allongement=0
angle_origine=0
X=0
Y=0
distance_centre=0
-do
allongement={$circonference/360*$angle_origine}
distance_centre={{{$rayon*$rayon}+{$allongement*$allongement}}^{1/2}}
tangente_angle_a_enlever={$allongement/$rayon}
angle_a_enlever={180/pi*atan($tangente_angle_a_enlever)} ## voir précision minutes d'angles
angle_allongement={$angle_origine-$angle_a_enlever} ## voir précision minutes d'angles
#-e $allongement
#-e $distance_centre
#-e $tangente_angle_a_enlever
#-e $angle_a_enlever
#-e $angle_allongement
X={$centre_origine_X+round($distance_centre*cos(pi/180*$angle_allongement))}
Y={$centre_origine_Y+round($distance_centre*sin(pi/180*$angle_allongement))}
-point $X,$Y,0,1,255,255,0
#X={$centre_origine_X+round($distance_centre*sin(pi/180*$angle_allongement))}
#Y={$centre_origine_Y+round($distance_centre*cos(pi/180*$angle_allongement))}
X={$centre_origine_X+round($distance_centre*-cos(pi/180*$angle_allongement))}
Y={$centre_origine_Y+round($distance_centre*-sin(pi/180*$angle_allongement))}
-point $X,$Y,0,1,255,0,0
angle_origine={$angle_origine+1}
-while {$angle_origine<{$angle+1}}
########################################################################################################################################################
####### #######
####### FIN Spirales du 3 février 2012 #######
####### #######
########################################################################################################################################################
########################################################################################################################################################
####### #######
####### RÉGRESSIONS #######
####### #######
########################################################################################################################################################
#@gimp Metallic look : gimp_metallic, gimp_metallic_preview(1)
#@gimp : Strength = float(1,0,1)
#@gimp : Smoothness = float(0,0,20)
#@gimp : Metal = choice("silver","gold","copper","bronze","blue steel")
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/04/12.")
#@gimp : note = link("Filter explained here",http://www.tkfilter.bplaced.net/TKFilter%20filter.html)
gimp_metallic :
-repeat @# -l[$>]
-gimp_gaussian_blur $2,0,0,1,1,0,0
-luminance --luminance
-gimp_apply_curve[1] 0,31,111,64,17,110,176,148,75,177,235,186,1,0,0,0,0
-gimp_apply_curve[1] 0,31,111,64,17,110,176,148,75,177,235,186,1,0,0,0,0
-rv[0,1] -gimp_compose_value[0,1] $1,0
-if {$3==1} -gimp_mix_rgb 1,50,0,1,50,0,1,-50,0,0,2,0
-elif {$3==2} -gimp_mix_rgb 1,75,0,1,5,0,1,-25,0,0,2,0
-elif {$3==3} -gimp_mix_rgb 1,70,0,1,40,0,1,-20,0,0,2,0
-elif {$3==4} -gimp_mix_rgb 1,-5,0,1,0,0,1.1,12,0,0,2,0
-endif -endl -done
gimp_metallic_preview :
-gimp_split_preview "-gimp_metallic ${1--2}",$-1
#@gimp Zone system : gimp_zonesystem, gimp_zonesystem_preview(1)
#@gimp : Shadows zone = int(1,1,5)
#@gimp : Highlights zone = int(10,6,10)
#@gimp : Gamma = float(1,0,5)
#@gimp : Contrast = float(1,0,4)
#@gimp : Black point = int(0,0,255)
#@gimp : White point = int(255,0,255)
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/02/13.")
gimp_zonesystem :
-repeat @# -l[$>] -to_rgb -rgb2lab -s c -n[0] {{$1-1}*10}%,{$2*10}%
-a c -lab2rgb -gimp_channel_processing $3,$4,0,0,0,0,100,256,0,0,0,2,7,0
-gimp_apply_curve 0,$5,0,$6,255,-1,128,-1,128,-1,128,255,1,7,0,0,0
-endl -done
gimp_zonesystem_preview :
-gimp_split_preview "-gimp_zonesystem ${1--2}",$-1
#@gimp Dynamic Range Increase : gimp_dri, gimp_dri_preview(1)
#@gimp : sep = separator()
#@gimp : Map Tones = float(0,0,1)
#@gimp : Recover Shadows = float(0,0,1)
#@gimp : Recover Highlights = float(0,0,1)
#@gimp : Enhance Details = float (1,0,5)
#@gimp : Detail Strength = float (0.5,0,1)
#@gimp : Map Tones = bool(1)
#@gimp : Enhance Details = bool(1)
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/04/12")
#@gimp : note = link("Filter explained here",http://www.tkfilter.bplaced.net/TKFilter%20filter.html)
gimp_dri :
-repeat @# -l[$>]
-if {$6==1}
--negative --to_rgba[0] --luminance[0] --to_rgba[0] --luminance[0]
-gimp_gaussian_blur[1] {{{w+h}/20}*{1.1-$1}},0,0,1,0,0,0 -to_gray[1]
-rv[0,1] -gimp_compose_softlight[0,1] $1
-gimp_gaussian_blur[2] {{w+h}/200},0,0,1,1,0,0 -negative[2] -to_gray[2]
-s[1] c -rv[4,5] -compose_multiply[4,5] -a[1,2,3,4] c -rv[0,1]
-gimp_compose_dodge[0,1] $2
-gimp_gaussian_blur[2] {{w+h}/200},0,0,1,1,0,0 -to_gray[2] -s[1] c
-rv[4,5] -compose_multiply[4,5] -a[1,2,3,4] c -rv[0,1]
-gimp_compose_colorburn[0,1] $3 -endif
-if {$7==1} --map_tones[0] 0.50,0.70,$4,50
--normalize_local[0] $4,6.00,5.00,1.00
-rv[0,1] -gimp_compose_value[0,1] $5,0
-rv[0,1] -gimp_compose_value[0,1] $5,0 -endif
-endl -done
gimp_dri_preview :
-gimp_split_preview "-gimp_dri ${1--2}",$-1
#@gimp High Pass: gimp_highpass, gimp_highpass_preview(0)
#@gimp : Radius = float(5,0,100)
#@gimp : Contrast = float(2,0,7)
#@gimp : Inverse = bool(0)
#@gimp : Greyscale = bool(0)
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/01/05.")
gimp_highpass :
-repeat @# -l[$>]
-to_rgb --negative
-if {$4==1} -to_gray -endif
-gimp_gaussian_blur[1] $1,0,0,1,0,0,0
-compose_interpolation
-gimp_channel_processing 1,$2,0,0,0,0,100,256,0,0,0,2,0,0
-if {$2>=4} -gimp_channel_processing 1,{$2-3},0,0,0,0,100,256,0,0,0,2,0,0 -endif
-gimp_channel_processing 1,1,0,0,1,50,100,256,0,0,0,2,0,0
-if {$3==1} -negative -endif -endl -done
gimp_highpass_preview :
-gimp_split_preview "-gimp_highpass ${1--2}",$-1
#@gimp Dodge and Burn : gimp_dodgeburn, gimp_dodgeburn_preview(1)
#@gimp : note = note("automatic dodging and burning")
#@gimp : sep = separator()
#@gimp : Highlights selection = float(15,0,100)
#@gimp : Highlights abstraction = float(1.5,0,10)
#@gimp : Dodge strength = float(25,0,256)
#@gimp : Dodge blur = float(10,0,20)
#@gimp : Shadows selection = float(40,0,100)
#@gimp : Shadows abstraction = float(1.5,0,10)
#@gimp : Burn strength = float(25,0,256)
#@gimp : Burn blur = float(10,0,20)
#@gimp : sep = separator()
#@gimp : note = note("Advanved: output dodge and burn layer separate")
#@gimp : Keep layers seperate = bool(0)
#@gimp : Keep original layer = bool(0)
#@gimp : Blur dodge and burn layer = float(10,0,20)
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/02/15.")
gimp_dodgeburn :
-repeat @# -l[$>] --luminance -if {$9==1} --fc[0] 128,128,128,255 -endif
-gimp_channel_processing[1] 1,1,0,$2,4,0,{100-$1},256,0,1,0,2,0,0
-gimp_channel_processing[1] 1,1,{-{256-$3}},0,0,0,100,256,0,0,0,2,0,0
-gimp_gaussian_blur[1] $4,0,0,1,0,0,0 --luminance[0]
-if {$9==0} -compose_dodge[0,1] -else -rv[1,2] -compose_dodge[1,2] -endif
-gimp_channel_processing[-1] 1,1,0,$6,4,$5,100,256,0,0,0,2,0,0
-gimp_channel_processing[-1] 1,1,{256-$7},0,0,0,100,256,0,0,0,2,0,0
-gimp_gaussian_blur[-1] $8,0,0,1,0,0,0
-if {$9==0} -compose_colorburn[0,1] -else -compose_colorburn[-1,-2] -endif
-if {$9==1} -gimp_gaussian_blur[-1] $11,0,0,1,0,0,0 -endif
-if {$10==0} -if {$9==1} -rm[0] -endif -endif -endl -done
gimp_dodgeburn_preview :
-gimp_split_preview "-gimp_dodgeburn ${1--2}",$-1
#@gimp Beauty Retouch : gimp_retouch, gimp_retouch_preview(0)
#@gimp : sep = separator()
#@gimp : Smoothness = float(30,0,100)
#@gimp : Details = float(3,0,10)
#@gimp : Smoothing Strength = float(1,0,5)
#@gimp : Edge Threshold = float(20,0,50)
#@gimp : Edge Smoothness = float(1.5,0,10)
#@gimp : Sharpening Radius = float(1,0,10)
#@gimp : Sharpening Strength = float(2.5,0,5)
#@gimp : View Edge Mask = bool(0)
#@gimp : Smoothen skin tones only = bool(0)
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/01/05")
#@gimp : note = link("Filter explained here","http://www.flickr.com/groups/gmic/discuss/72157625538669041/")
gimp_retouch :
-repeat @# -l[$>]
-if {$8==1}
--gimp_edges $5,$4,0,0 -gimp_gaussian_blur {$5*5},0,0,1,1,0,0
-else
--to_rgba[0] --to_gray[0] -gimp_edges[2] $5,$4,0,0
-gimp_gaussian_blur[2] {$5*5},0,0,1,1,0,0 -to_gray[2] --to_rgba[0] --negative[2]
-gimp_highpass[1] {$1},2,1,1,0
-gimp_gaussian_blur[1] $2,0,0,1,1,0,0
-to_rgba[0]
-if {$9==1} --to_rgba[0] -channels[5] 0
-gimp_channel_processing[5] 1,1,4,0,0,0,100,256,0,0,0,2,7,0
-gimp_gaussian_blur[5] {{w+h}/1000},0,0,1,0,0,0 -to_gray[5] -endif
-split[1] c -reverse[4,5] -compose_multiply[4,5]
-if {$9==1} -reverse[4,-1] -compose_multiply[4,-1] -endif
-append[-6,-5,-4,-3] c
-reverse[0,1] -gimp_compose_softlight[0,1] {$3/5}
-gimp_unsharp[-2] 0,$6,30,$7,0.00,1.00,0.5,1,0,7,0
-split[-2] c -reverse[-1,-2] -compose_multiply[-1,-2] -append[-4,-3,-2,-1] c
-compose_alpha[0,1]
-endif
-endl -done
gimp_retouch_preview :
-gimp_split_preview "-gimp_retouch ${1--2}",$-1
#@gimp 3d conversion : gimp_convert3d, gimp_convert3d(1)
#@gimp : sep = separator()
#@gimp : note = note("Stereoscopic settings :")
#@gimp : Scene selector = choice("Daylight scene","Light motive","Dark motive","Landscape","Center foreground","Center background","Left foreground","Left diagonal foreground","Right foreground","Right diagonal foreground","Left and right foreground","Bottom and top foreground","Central perspective outdoor","Central perspective indoor","Portrait","Human 1","Human 2","Studio","Underwater","Flat")
#@gimp : Far point deviation = float(3,-100,100)
#@gimp : Near point deviation = float(20,-100,100)
#@gimp : Depth field control = float(20,0,100)
#@gimp : Feature analyzer threshold = float(0,0,5)
#@gimp : Feature analyzer smoothness = float(0,0,5)
#@gimp : Local detail enhancer = float(0,0,5)
#@gimp : DOF analyzer = float(0,0,5)
#@gimp : Frequency analyzer = float(0,0,5)
#@gimp : Flip left / right = bool(0)
#@gimp : Use individual depth map = bool(0)
#@gimp : note = note("To use this option your depth map must be placed below your image. Switch input layers to Active and below.")
#@gimp : sep = separator()
#@gimp : note = note("Image settings :")
#@gimp : Black & White = bool (0)
#@gimp : Output format = choice("Anaglyph red/cyan","Anaglyph blue/yellow","Stereo pair small","Stereo pair big","Stereo pair bottom/top","Depth map only","Unaligned images")
#@gimp : Gamma compensation = float(1.2,0,4)
#@gimp : Color boost = float(1.2,0,4)
#@gimp : Anaglyph glasses adjustment = float(0,-100,100)
#@gimp : Autocrop = bool (1)
#@gimp : Bidirectional rendering = bool (0)
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/03/25.")
#@gimp : note = link("Filter explained here","http://www.mediafire.com/?8d2jffrawfd4r7s")
gimp_convert3d :
# prepare image
-if {$12==0} -to_rgb[0] --gimp_do_nothing[0]
-else -luminance[0] -to_rgb[0] --gimp_do_nothing[0] -endif
# create depth map
-if {$11==0}
-if {$1==0} --channels[0] 2
-gimp_channel_processing[-1] 1,{{$4/25}+0.1},0,0,0,0,100,256,0,1,0,2,0,0
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,90,0,{100-{$4/1.5}}
-rv[-1,-2] -gimp_compose_lighten[-1,-2] {0.5+{$4/200}}
-elif {$1==1} --luminance[-1]
-gimp_channel_processing[-1] 1,{$4/25},0,0,0,0,100,256,0,0,0,2,0,0
-elif {$1==2} --luminance[-1] -negative[-1]
-gimp_channel_processing[-1] 1,{$4/25},0,0,0,0,100,256,0,0,0,2,0,0
-elif {$1==3}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,90,0,{100-$4}
-elif {$1==4}
--gimp_radial_gradient[-1] 0,0,0,255,255,255,255,255,1,$4,100,50,50
-elif {$1==5}
--gimp_radial_gradient[-1] 0,0,0,255,255,255,255,255,0,0,{100-$4},50,50
-elif {$1==6}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,1,0,$4,100
-elif {$1==7}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,1,315,$4,100
-elif {$1==8}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,0,0,{100-$4}
-elif {$1==9}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,45,0,{100-$4}
-elif {$1==10}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,0,50,{100-{$4/2}}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,180,50,{100-{$4/2}}
-compose_lighten[-1,-2]
-elif {$1==11}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,90,50,{100-{$4/2}}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,270,50,{100-{$4/2}}
-compose_lighten[-1,-2]
-elif {$1==12}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,0,50,{100-{$4/4}}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,180,50,{100-{$4/4}}
-compose_lighten[-1,-2]
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,90,0,{100-{$4/2}}
-compose_lighten[-1,-2]
-elif {$1==13}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,0,50,{100-{$4/4}}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,180,50,{100-{$4/4}}
-compose_lighten[-1,-2]
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,90,0,{100-{$4/4}}
-compose_lighten[-1,-2]
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,270,50,{100-{$4/4}}
-compose_lighten[-1,-2]
-elif {$1==14} --channels[-1] 0
-gimp_channel_processing[-1] 1,{$4/25},0,0,0,0,100,256,0,0,0,2,0,0
--gimp_radial_gradient[-1] 0,0,0,255,255,255,255,255,1,$4,100,50,50
-rv[-1,-2] -compose_multiply[-1,-2]
-elif {$1==15}
--gimp_gaussian_blur[-1] $6,0,0,1,0,0,0
-gimp_edges[-1] {$6/2},{50-{$4/2}},1,0
--gimp_gradient_norm[0] {$6/2},{1.5-{$4/67}},0,{100-$4},0,0
-rv[-1,-2] -compose_lighten[-1,-2] --channels[0] 0
-gimp_channel_processing[-1] 1,{{$4/25}+1},0,0,0,0,100,256,0,0,0,2,0,0
-rv[-1,-2] -compose_lighten[-1,-2]
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,0,50,{100-{$4/4}}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,180,50,{100-{$4/4}}
-compose_lighten[-1,-2]
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,90,0,{100-{$4/2}}
-compose_lighten[-1,-2] -rv[-1,-2] -compose_lighten[-1,-2]
-elif {$1==16} --gimp_gaussian_blur[-1] $6,0,0,1,0,0,0
-gimp_edges[-1] {$6/2},{50-{$4/2}},1,0
--gimp_gradient_norm[0] {$6/2},{1.5-{$4/67}},0,{100-$4},0,0
-rv[-1,-2] -compose_lighten[-1,-2] --channels[0] 0
-gimp_channel_processing[-1] 1,{{$4/25}+0.5},0,0,0,0,100,256,0,0,0,2,0,0
-rv[-1,-2] -compose_lighten[-1,-2]
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,0,0,{100-$4}
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,180,0,{100-$4}
-compose_darken[-1,-2] -rv[-1,-2] -compose_darken[-1,-2]
--gimp_linear_gradient[-1] 0,0,0,255,255,255,255,255,0,90,75,{100-{$4/4}}
-rv[-1,-2] -gimp_compose_lighten[-1,-2] 0.5
-elif {$1==17} --gimp_gaussian_blur[-1] $6,0,0,1,0,0,0
-gimp_edges[-1] {$6/2},{50-{$4/2}},1,0
--gimp_gradient_norm[0] {$6/2},{1.5-{$4/67}},0,{100-$4},0,0
-rv[-1,-2] -compose_lighten[-1,-2] --channels[0] 0
-gimp_channel_processing[-1] 1,{{$4/25}+0.5},0,0,0,0,100,256,0,0,0,2,0,0
-rv[-1,-2] -compose_lighten[-1,-2]
-elif {$1==18} --channels[-1] 0
-gimp_channel_processing[-1] 1,{$4/25},0,0,0,0,100,256,0,0,0,2,0,0
-elif {$1==19} --fc[-1] 0,0,0
-endif
# individual depth map
-else -rv[1,-1] -to_rgb[-1] -luminance[-1] -endif
# analyze image features
-if {$9!=0}
--fc[0] 128,128,128 --channels[0] 2 -negative[-1] -c[-1] 0,90
-n[-1] 0,128 -rv[-1,-2] -compose_darken[-1,-2]
--channels[0] 0 -negative[-1] -c[-1] 165,255 -n[-1] 128,255 -rv[-1,-2] -compose_hardlight[-1,-2] -rv[-1,-2]
-if {$11==0} -if {$1!=19} -gimp_compose_hardlight[-1,-2] {$9/5}
-else -gimp_compose_value[-1,-2] {$9/5}
-gimp_channel_processing[-1] 1,{$4/25},0,0,0,0,100,256,0,0,0,2,0,0
-endif
-else -gimp_compose_value[-1,-2] {$9/5} -endif -endif
-if {$8!=0} --gimp_isophotes[0] {{$8*3}+2},0,0,0
-gimp_channel_processing[-1] 1,1,255,0,0,0,100,256,0,0,0,2,0,0
-gimp_gaussian_blur[-1] {{w+h}/350},0,0,1,0,0,0
-rv[-1,-2] -gimp_compose_overlay[-1,-2] {$8/5} -endif
-if {$5!=0} --gimp_gradient_norm[0] 0,1,0,100,1,0
-rv[-1,-2] -compose_multiply[-1,-2] -gimp_segment_watershed[-1] $5,$6,0,0 -endif
-if {$7!=0} --luminance[0] -gimp_map_tones[-1] 1,{0.25-{$7/20}},0,30,3,0
-rv[-1,-2] -gimp_compose_overlay[-1,-2] {$7/10} -endif
-if {$11==0} -gimp_gaussian_blur[-1] 0,{{w+h}/700},{{w+h}/350},1,0,0,0 -endif
-n[-1] 0,255
# create second view
-if {$13!=5} -if {$18==0}
-if {$3<=0} -negative[-1] -endif
-r[-1] 100%,100%,1,2 -s[-1] c -f[-1] 0 -n[-2] 0,$3 -a[-1,-2] c
-warp[-2] [-1],1 -shift[-2] $2,0 -rm[-1]
-else
--gimp_do_nothing[-1] -r[-1,-2] 100%,100%,1,2
-s[-1] c -f[-1] 0 -n[-2] 0,{abs($3/2)} -a[-1,-2] c
-negative[-2] -s[-2] c -f[-2] 0 -n[-3] 0,{-abs($3/2)} -a[-2,-3] c
-warp[-4] [-2],1 -warp[-3] [-1],1
-shift[-3] $2,0 -rm[-1,-2]
-endif -endif
# crop images
-if {$17==1} -if {$13!=5}
-if {$2>=0} -z[-1,-2] $2,0,{w},{h} -else -z[-1,-2] 0,0,{w+$2},{h} -endif
-if {$18==0}
-if {$3>=0} -z[-1,-2] $3,0,{w},{h} -else -z[-1,-2] 0,0,{w+$3},{h} -endif
-else -z[-1,-2] {abs($3/2)},0,{w-abs($3/2)},{h}
-endif -endif -endif
# align stereoscopic image
-if {$13==0} -if {$10==0} -rv[-1,-2] -endif -s c
-rm[-3,-4,-5] -a[-1,-2,-3] c
-elif {$13==1} -if {$10==0} -rv[-1,-2] -endif -s c
-rm[-6,-5,-1] -mv[0] 3 -a[-1,-2,-3] c
-elif {$13==2} -if {$10==1} -rv[-1,-2] -endif
-r[-1,-2] 50%,50% -a[-1,-2] x
-elif {$13==3} -if {$10==1} -rv[-1,-2] -endif -a[-1,-2] x
-elif {$13==4} -if {$10==1} -rv[-1,-2] -endif -a[-1,-2] y
-elif {$13==5} -k[-1] -elif {$13==6} -rv[-1,-2] -endif
# adjust output images
-apply_gamma $14
-gimp_mix_lab 1,0,0,$15,0,0,$15,0,0,0,2,0
-if {$13==0} -gimp_mix_rgb 1,$16,0,1,0,0,1,0,0,0,2,0 -endif
-if {$13==1} -gimp_mix_rgb 1,0,0,1,0,0,1,$16,0,0,2,0 -endif
#@gimp Photoillustration: gimp_photoillustration, gimp_photoillustration_preview(0)
#@gimp : note = note("adding an illustrative effect to any photograph")
#@gimp : sep = separator()
#@gimp : Local contrast style = choice("tone mapping","local normalization","unsharp mask","global mapping","dynamic range increase","none")
#@gimp : Local contrast effect = float(0.25,0.00,2.5)
#@gimp : Smoothing style = choice("anisotropic","bilateral","color channel smoothing","segmentation","morphological closing","edge preserving","none")
#@gimp : Contour precision = float(0.30,0.00,1.00)
#@gimp : Area smoothness = float(0.50,0.00,10.00)
#@gimp : Sharpening radius = float(0.50,0.00,10.00)
#@gimp : Sharpening strength = float(1.00,0.00,5.00)
#@gimp : Special effects = choice("none","soft glow","dusty","Orton glow","extra smooth","bloom","paintstroke")
#@gimp : Effect strength = float(5.00,0.00,20.00)
#@gimp : Overall lightness = float(0,-50,50)
#@gimp : Overall contrast = float(1,0.5,1.5)
#@gimp : Shadows lightness = float(0,-100,100)
#@gimp : Highlights lightness = float(0,-100,100)
#@gimp : Mid tone contrast = float(1,0.5,4)
#@gimp : Color green-magenta = float(0,-20,20)
#@gimp : Color blue-yellow = float(0,-20,20)
#@gimp : Color boost = float(1.2,0,4)
#@gimp : Detail reconstruction detection = float (98.5,50,100)
#@gimp : Detail reconstruction smoothness = float(5,0,10)
#@gimp : Detail reconstruction strength = float(0.5,0,1)
#@gimp : Detail reconstruction style = choice("micro/macro details adjusted","fine","strong","high pass","artistic round","artistic hard","artistic modern","comic Style","gritty","none")
#@gimp : Keep detail layer seperate = bool(0)
#@gimp : Remove artifacts from micro/macro detail = bool(0)
#@gimp : Skin tone protection = bool(0)
#@gimp : Sharpen edges only = bool(0)
#@gimp : sep = separator()
#@gimp : note = note("WARNING: this filter may run slow on larger images, downsize your image before running the filter if necessary")
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/01/12")
#@gimp : note = link("Filter explained here","http://gmic.sourceforge.net/tutorial_photoillustration.pdf")
gimp_photoillustration :
-repeat @# -l[$>]
-if {$21==0} --gimp_do_nothing --negative[1] #securing details from original
--gimp_do_nothing[0] --negative[0]
-gimp_gaussian_blur[2] {{{100-$18}/5}+0.5},0,0,1,0,0,0 #as adjusted micro and macro details
-gimp_compose_dodge[1,2] 1
-if {$23==1} -gimp_gaussian_blur[1] {{{100-$18}/10}+0.5},0,0,1,0,0,0 -endif
-gimp_gaussian_blur[3] {{{{{100-$18}/5}+1}*10}+10},0,0,1,0,0,0
-gimp_compose_dodge[2,3] 1
-if {$23==1} -gimp_gaussian_blur[2] {{{{100-$18}/10}+0.5}*3},0,0,1,0,0,0 -endif
-reverse[1,2] -gimp_compose_multiply[1,2] {1-{$19/10}}
-gimp_channel_processing[1] {{1-$20}+0.1},1,0,0,0,0,100,256,0,0,0,2,7,0
-elif {$21==1} --gimp_laplacian $19,{99.99-$18},$18,1,1,0 # securing details of original
-elif {$21==2} --gimp_gradient_norm $19,0.5,{99.99-$18},$18,1,0 # securing stronger details of original
-elif {$21==3} --gimp_highpass {-{$18-100.3}},{{10-$19}*0.7},0,1,0 # details as highpass
-elif {$21==4} --gimp_pencilbw {100-$18},{$19*20},0,0,0 # details as B&W pencil
-elif {$21==5} --gimp_hardsketchbw 2000,2,$19,0.1,{100-$18},0,0 # details as B&W hard sketch
-elif {$21==6} --gimp_thin_edges $19,{{$18/5}-10},0,0 # details as thin edges
-elif {$21==7} --gimp_edges {$19/3.5},{95-$18},0,0 # details as comic style
--gimp_mix_hsv[0] 1,0,0,1,-1,0,1,0,0,0,2,0
-gimp_channel_processing[2] 1,1,0,{$19/10},4,{{$18-50}*2},100,256,0,0,0,2,7,0
-reverse[1,2] -gimp_compose_multiply[1,2] {0.5+{$20/2}}
-elif {$21==8} --channels 2
-if {$19<=5} -gimp_unsharp[1] 1,{2-{{$19*0.3}+0.5}},20,{5-$19},0.00,1.00,0.5,1,0,7,0
-else -gimp_gaussian_blur[1] {$19-5},0,0,1,0,0,0 -endif
-endif
-if {$1!=3}
-gimp_channel_processing[0] 1,1,$12,0,0,0,100,256,0,0,1,{abs($12/10)},7,0 # shadows correction
-gimp_channel_processing[0] 1,1,$13,0,0,0,100,256,0,0,3,{abs($12/10)},7,0 # highlights correction
-endif
-if {$24==0}
-if {$1==0} -gimp_map_tones[0] {$2/2.5},{1-{$2/2.5}},$2,{2+{$2*80}},3,0 # tone mapping in lightness
-elif {$1==1} -gimp_normalize_local[0] {$2*2},{1+{$2*25.2}},{$2*16},{$2*16},0,3,0 # local normalisation in luminosity
-elif {$1==2} -gimp_unsharp[0] 0,{{w+h}/100},0,$2,0,1,1,1,0,7,0 # USM wide radius in lightness
-elif {$1==3} --negative[0]
-if {$21!=9} -reverse[1,2] -endif
-gimp_gaussian_blur[1] {{{w+h}/5}-{$2*{{w+h}/12.5}}},0,0,1,0,0,0
-to_gray[1] -reverse[0,1] -gimp_compose_softlight[0,1] {$2/2.5} # inverted overlay
-elif {$1==4} -gimp_dri[0] {$2/2.5},{$2/5},{$2/2.5},{$2*2},{$2/2.5},1,1,0
-endif # as alternative local contrast enhancement
-else #skin protection
--to_rgba[0] --channels[0] 0 -if {$21!=9} -move[1] 4 -endif
-negative[2]
-gimp_channel_processing[2] 1,1,2,0,0,0,100,256,0,0,0,2,7,0
-gimp_gaussian_blur[2] {{w+h}/500},0,0,1,0,0,0
-to_gray[2]
-if {$1==0} -gimp_map_tones[1] {$2/2.5},{1-{$2/2.5}},$2,{2+{$2*80}},3,0 # tone mapping in lightness
-elif {$1==1} -gimp_normalize_local[1] {$2*2},{1+{$2*25.2}},{$2*16},{$2*16},0,3,0 # local normalisation in luminosity
-elif {$1==2} -gimp_unsharp[1] 0,100,0,$2,0,1,1,1,0,7,0
-elif {$1==3} -negative[1] -gimp_gaussian_blur[1] {{{w+h}/5}-{$2*{{w+h}/12.5}}},0,0,1,0,0,0
-to_gray[1] -to_rgba[1]
-elif {$1==4} -gimp_dri[1] {$2/2.5},{$2/5},{$2/2.5},{$2*2},{$2/2.5},1,1,0 -to_rgba[1]
-endif
-split[1] c
-if {$21!=9} -reverse[4,5] -compose_multiply[4,5] -append[-5,-4,-3,-2] c
-else -reverse[3,4] -compose_multiply[3,4] -append[-4,-3,-2,-1] c -endif
-if {$1!=3} -compose_alpha[0,1] -else -reverse[0,1]
-gimp_compose_softlight[0,1] {$2/2.5} -endif
-endif #end skin protection
-gimp_channel_processing[0] 1,$11,$10,0,0,0,100,256,0,0,0,2,7,0 # general lightness and contrast settings
-gimp_channel_processing[0] 1,$14,0,0,0,0,100,256,0,0,2,{abs($14*2.5)},7,0 # mid tone contrast setting
-if {$1==3}
-gimp_channel_processing[0] 1,1,$12,0,0,0,100,256,0,0,1,{abs($12/10)},7,0 # shadows correction
-gimp_channel_processing[0] 1,1,$13,0,0,0,100,256,0,0,3,{abs($12/10)},7,0 # highlights correction
-endif
-if {$3==0} # different smoothing methods
-gimp_anisotropic_smoothing[0] {$5*100},{$4*2},$4,$5,$5,0.80,30.00,2.0,0,1,1,0,1,0
-elif {$3==1} -gimp_bilateral[0] {100-{$4*100}},{$5*25},1,0,0
-elif {$3==2} -gimp_gaussian_blur[0] {$5*10},0,0,1,8,0,0
-elif {$3==3} -gimp_segment_watershed[0] {$4*5},{$5/2},0,0
-elif {$3==4} -gimp_morpho[0] 3,{$5*2+2},0,2,0,1,0
-elif {$3==5} -gimp_edgepreserving_smoothing[0] {$4*2},$4,$5,$5,{{$5*4.5}+5},{{$5*9.9}+1},0,0
-endif
-gimp_mix_lab[0] 1,0,0,$17,$15,0,$17,$16,0,0,2,0 # LAB mixer for colour boost effect
-if {$25==0}
-gimp_unsharp[0] 1,$6,20,$7,0.00,1.00,0.5,1,0,7,0 # bilateral USM dark emphasized
-else
--to_rgba[0] --gimp_edges[0] $6,{30-{$7*5}},1,0 -if {$21!=9} -move[1] 4 -endif
-gimp_unsharp[1] 1,$6,20,$7,0.00,1.00,0.5,1,0,7,0
-gimp_gaussian_blur[2] {{w+h}/500},0,0,1,0,0,0
-to_gray[2]
-split[1] c
-if {$21!=9} -reverse[4,5] -compose_multiply[4,5] -append[-5,-4,-3,-2] c
-else -reverse[3,4] -compose_multiply[3,4] -append[-4,-3,-2,-1] c -endif
-compose_alpha[0,1]
-endif
-if {$22==0}
-if {$21==3} -reverse -gimp_compose_overlay $20 # detail reconstruction from original
-elif {$21==8} -reverse -gimp_compose_hardlight $20
-elif {$21!=9} -reverse -gimp_compose_multiply $20
-endif -endif
-if {$8==1}
-gimp_glow[0] $9,0,0 # soft glow
-elif {$8==2} --gimp_highpass[0] {$9*3},2,1,0,0 # inverse highpass
-if {{$22==1}&&{$21!=9}} -reverse[1,2] -endif
-reverse[0,1] -gimp_compose_overlay[0,1] {$9/40}
-elif {$8==3} --gimp_do_nothing[0] --gimp_do_nothing[0] # orton effect
-if {{$22==1}&&{$21!=9}} -reverse[1,3] -endif
-gimp_compose_screen[1,2] 1 -gimp_gaussian_blur[1] {$9*3},0,0,1,0,0,0
-reverse[0,1] -gimp_compose_softlight[0,1] {$9/20}
-elif {$8==4} # additional light smoothing
-gimp_anisotropic_smoothing[0] 30,1.5,0.3,{$9/4},1.10,0.80,30.00,2.0,0,1,1,0,1,0
-elif {$8==5}
--gimp_mix_hsv[0] 1,0,0,1,-1,0,1,0,0,0,2,0 # highlights bloom
-if {{$22==1}&&{$21!=9}} -reverse[1,2] -endif
-gimp_channel_processing[1] 1,1,0,0,4,0,{100-{$9*2.5}},256,0,1,0,2,0,0
-gimp_gaussian_blur[1] $9,0,0,1,0,0,0
-gimp_channel_processing[1] 1,1,0,0,4,0,{50-{$9*2}},256,0,1,0,2,0,0
-gimp_replace_color[1] 1,0,0,0,0,255,0,0,0,0
-gimp_gaussian_blur[1] {$9*2},0,0,1,0,0,0
-reverse[0,1] -gimp_compose_softlight[0,1] {0.25+{$9/150}}
-elif {$8==6}
-gimp_anisotropic_smoothing[0] 60,0.16,{{$9/50}+0.6},{{$9/9}+0.6},2.35,0.8,30,2,0,1,1,0,1
-endif
-endl -done
gimp_photoillustration_preview :
-gimp_split_preview "-gimp_photoillustration ${1--2}",$-1
#@gimp Vintage style : gimp_vintage, gimp_vintage_preview(1)
#@gimp : Exposure = float(2,-5,5)
#@gimp : Contrast = float(0.85,0.5,1.5)
#@gimp : Saturation = float(0.7,0,4)
#@gimp : Shadows threshold = float(80,0,128)
#@gimp : Highlights threshold = float(200,128,255)
#@gimp : Transition smoothness = float(5,0,50)
#@gimp : sep = separator()
#@gimp : Color shadows = color(147,26,161)
#@gimp : Strength shadows = float(0.3,0,1)
#@gimp : Color midtones = color(235,220,176)
#@gimp : Strength midtones = float(0.4,0,1)
#@gimp : Color highlights = color(190,181,108)
#@gimp : Strength highlights = float(0.2,0,1)
#@gimp : Color overall effect = color(0,0,100)
#@gimp : Color effect mode = choice("exclusion","overlay","soft Light","multiply","screen")
#@gimp : Strength effect = float(0.3,0,1)
#@gimp : sep = separator()
#@gimp : Vignette size = float(25,0,100)
#@gimp : Vignette strenth = float(0,0,1)
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical")
#@gimp : sep = separator(), note = note("Author : Tom Keil. Latest update : 2011/06/04.")
#@gimp : note = link("Filter explained here",http://www.tkfilter.bplaced.net/TKFilter%20filter.html)
gimp_vintage :
-repeat @# -l[$>]
-to_rgb[0] --luminance[0] --luminance[0] --luminance[0]
-gimp_mix_lab[0] $2,{$1*10},0,$3,0,0,$3,0,0,0,2,0
-gimp_channel_processing[-1] 1,1,0,0,4,{$4/2.55},100,256,0,1,0,2,0,0
-gimp_channel_processing[-2] 1,1,0,0,4,{$4/2.55},{$5/2.55},256,0,0,0,2,0,0
-gimp_channel_processing[-3] 1,1,0,0,4,0,{$5/2.55},256,0,1,0,2,0,0
-to_gray[-1,-2,-3] -gimp_gaussian_blur[-1,-2,-3] $6,0,0,1,0,0,0
--fc[0] $7,$8,$9 --fc[0] $11,$12,$13 --fc[0] $15,$16,$17 -to_rgba[-1,-2,-3]
-s[-1] c -rv[-1,-9] -compose_multiply[-1,-9] -mv[-8] 9 -a[-4,-3,-2,-1] c
-s[-2] c -rv[-2,-8] -compose_multiply[-2,-8] -mv[-7] 7 -a[-5,-4,-3,-2] c
-s[-3] c -rv[-3,-7] -compose_multiply[-3,-7] -mv[-6] 5 -a[-6,-5,-4,-3] c
--fc[0] $19,$20,$21 -rv[-1,-5]
-if {$22==0} -gimp_compose_exclusion[-1,-5] $23
-elif {$22==1} -gimp_compose_overlay[-1,-5] $23
-elif {$22==2} -gimp_compose_softlight[-1,-5] $23
-elif {$22==3} -gimp_compose_multiply[-1,-5] $23
-elif {$22==4} -gimp_compose_screen[-1,-5] $23
-endif
-rv[-3,-4] -gimp_compose_lighten[-3,-4] $10
-rv[-2,-3] -gimp_compose_overlay[-2,-3] $14
-rv[-1,-2] -gimp_compose_darken[-1,-2] $18
-if {$25!=0}
--fc[0] 255,255,255 -gimp_frame_round[-1] 2,$24,0,0,0,0,0,255,100,0.1,3
-gimp_gaussian_blur[-1] {$6*5},0,0,1,0,0,0
-rv[-1,-2] -gimp_compose_multiply[-1,-2] $25 -endif
-endl -done
gimp_vintage_preview :
-gimp_split_preview "-gimp_vintage ${1--2}",$-1