#@gmic
## Filtres Samj début , le fichier doit commencer par : #@gmic
## Sites :
## http://www.aljacom.com/~gmic/
## http://samjcreations.blogspot.ca/
## Compilations Windows 32 bits & 64 bits (G'MIC + G'MIC-Gimp) :
## http://www.aljacom.com/~gmic/gmic-1586-full-win-32bits-64bits-20140417.7z (pour les anciens filtres)
## (G'MIC 1.6.2.0 pour les filtres mis à jour dans ce fichier)
## Les fichiers "samj.gmic" , "gmic" (Windows) et ".gmic" (Linux) sont identiques et édités avec Notepad++ http://notepad-plus-plus.org/
## Mise en forme avec Notepad++ , remplacer par itérations : \n\r\n\r\n\r\n\r \n\r\n\r\n\r \n\n\n\n\n\n \n\n\n\n\n
## La licence des filtres est la même que celle de G'MIC.
## Respectez notre univers et nos lois http://fr.wikipedia.org/wiki/Charte_de_la_langue_fran%C3%A7aise , merci :o)
## Conseils pour modifier ces filtres
##
## Les sources des filtres sont disponibles à partir de ce lien http://www.aljacom.com/~gmic/samj.gmic
## Vous pouvez tester, modifier, améliorer les filtres proposés en modifiant le nom du fichier "samj.gmic" en "gmic" pour Windows et ".gmic" pour Linux.
## Pour les anciens filtres :
## Ces fichiers "gmic" et ".gmic" doivent être installés dans le répertoire des filtres de G'MIC pour Gimp (où se trouve "update1586.gmic" si vous utilisez la version 1.5.8.6).
## Pendant ces modifications il sera peut-être intéressant de supprimer temporairement "update1586.gmic".
## Téléchargement : http://www.aljacom.com/~gmic/gmic-1586-full-win-32bits-64bits-20140417.7z Volume : 10,4 Mo (10 919 097 octets)
#@gimp _Testing
#@gimp Samj
#@gimp About : _none_, samj_about
#@gimp : note = note(Informations - Compilations :)
#@gimp : note = link("http://www.aljacom.com/~gmic/","http://www.aljacom.com/~gmic/")
#@gimp : note = link("http://samjcreations.blogspot.ca/","http://samjcreations.blogspot.ca/")
#@gimp : note = note(Filtres :)
#@gimp : note = note("Les filtres contenus dans ce r\303\251pertoire sont majoritairement traduits en fran\303\247ais et/ou en cours de d\303\251veloppement.")
#@gimp : note = note("The filters included in this directory are mostly translated into French and/or experimental.")
#@gimp : note = note("Version 20150416 GMIC 1.6.2.0 stable")
samj_about :
-text_outline Bonjour!,{{min({w},{h})}/20},{{min({w},{h})}/20},{{min({w},{h})}/5},1,255,255,255,255
#################################################################################################################################################################################################
#
# ARRAYS & TILES
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_arrays_and_tiles :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp Arrays & tiles
#################################################
## ##
## Cercles_Concentriques_A ##
## ##
#################################################
# 2015/04/25 origine
# 2015/04/26 menu "Décalage Cercles %" à 500%
#@gimp Cercles_Concentriques_A : Cercles_Concentriques_A, Cercles_Concentriques_A(1)
#@gimp : sep = separator(), note = note("Image Finale")
#@gimp : Dimension en pixels = int(800,256,1920)
#@gimp : Supprimer Calque Origine = bool(1)
#@gimp : note = note("Cercles")
#@gimp : Nb Cercles / Circles (anneaux) = int(6,1,180)
#@gimp : Variation Dimensions Des Cercles = choice(0,"Sin A","Sin B","Lineaire")
#@gimp : Angle Variation Origine = float(0,0,180)
#@gimp : Angle Variation Fin = float(90,0,180)
#@gimp : Coef. Variation = float(1,-1,1)
#@gimp : Sens Rotation Horaire = bool(1)
#@gimp : D\303\251calage Cercles % = float(50,0,500)
#@gimp : Conserver Ext\303\251rieur Cercles = bool(1)
#@gimp : note = note("Rayons De Couleurs Et Contours")
#@gimp : Activer Rayons De Couleurs = bool(1)
#@gimp : note = note(" - Contours - ")
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage / Display Contours = choice(0,"Sans","Rayons et Cercles","Rayons","Cercles")
#@gimp : Dilate Contours = int(0,0,16)
#@gimp : Flou / Blur Contours = float(0,0,5)
#@gimp : Sharpen = int(0,0,600)
#@gimp : note = note(" - Couleurs - ")
#@gimp : R\303\251p\303\251tition Des Couleurs = int(5,1,180)
#@gimp : Angle D\303\251calage Des Couleurs = float(0,0,360)
#@gimp : Couleur / Color A = color(0,0,255,255)
#@gimp : Couleur / Color B = color(255,255,0,255)
#@gimp : Couleur / Color C = color(255,0,0,255)
#@gimp : Couleur / Color D = color(0,255,255,255)
#@gimp : Couleur / Color E = color(255,0,255,255)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : M\303\251lange Couleurs Contours = bool(1)
#@gimp : note = note("Symmetrizoscope")
#@gimp : Activer Symmetrizoscope = bool(0)
#@gimp : Iterations = int(5,1,32)
#@gimp : Angle = float(0,0,360)
#@gimp : Symmetry sides = choice("Backward","Forward","Swap")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/26.")
Cercles_Concentriques_A:
Dimension_Finale=$1
Supprimer_Calque_Origine=$2
Nb_Circles={$3+1}
Type_Variation_Dimensions_Cercles=$4
Angle_Variation_Origine=$5
Angle_Variation_Fin=$6
Coef_Variation=$7
Sens_Rotation_Horaire=$8
Decalage_Cercles={$9-50}
Conserver_Exterieur_Cercles=$10
Activer_Rayons_De_Couleurs=$11
R_Contours=$12
V_Contours=$13
B_Contours=$14
A_Contours=$15
Affichage_Contours=$16
Dilate_Contours=$17
Flou_Contours=$18
Sharpen_Contours=$19
Repetition_Couleurs=$20
Angle_Decalage_Couleurs=$21
R_a=$22
V_a=$23
B_a=$24
A_a=$25
R_b=$26
V_b=$27
B_b=$28
A_b=$29
R_c=$30
V_c=$31
B_c=$32
A_c=$33
R_d=$34
V_d=$35
B_d=$36
A_d=$37
R_e=$38
V_e=$39
B_e=$40
A_e=$41
Couleurs_aleatoires=$42
Melange_Couleurs_Contours=$43
Filtre_Symmetrizoscope=$44
Iterations_Symmetrizoscope=$45
Angle_Symmetrizoscope=$46
Symmetry_Sides=$47
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Rayon_Cercle_Final={round({{$Dimension_Finale/2}-1})}
Rayon_Cercle_En_Cours=0
Rayon_Cercle_Precedent=0
Rayon_Dernier_Cercle=0 # voir si utile
Rayon_De_Couleur={round({1+{$Dimension_Finale*{2^0.5}}})}
Decrement_Rayon=0
Angle_Rayon_De_Couleur={72/$Repetition_Couleurs}
Angle_Rayon_De_Couleur_En_Cours=0
Angle_Rayon_De_Couleur_En_Cours_Fin=0
Nb_De_Rayon_De_Couleur=0
# 2 nouvelles images contours
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
-if {$Activer_Rayons_De_Couleurs==0}
# nouvelle image couleurs
--Je_passe_l_hiver_en_Floride[0]
-if {$Largeur_Origine>$Hauteur_Origine}
-crop[-1] {{$Largeur_Origine-$Hauteur_Origine}/2},0,{{{$Largeur_Origine-$Hauteur_Origine}/2}+$Hauteur_Origine-1},$Hauteur_Origine
-elif {$Largeur_Origine<$Hauteur_Origine}
-crop[-1] 0,{{$Hauteur_Origine-$Largeur_Origine}/2},$Largeur_Origine,{{{$Hauteur_Origine-$Largeur_Origine}/2}+$Largeur_Origine-1}
-endif
-resize[-1] $Dimension_Finale,$Dimension_Finale
-to_rgba[-1]
-endif
-if {$Activer_Rayons_De_Couleurs==1}
# nouvelle image couleurs
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,255
-endif
-if {$Sens_Rotation_Horaire==1}
Angle_Decalage_Couleurs_En_Cours={$Angle_Decalage_Couleurs_En_Cours+{$Angle_Decalage_Couleurs+{$Angle_Rayon_De_Couleur/2}}}
-else
Angle_Decalage_Couleurs_En_Cours={{$Angle_Decalage_Couleurs_En_Cours+{$Angle_Decalage_Couleurs+{$Angle_Rayon_De_Couleur/2}}}+{$Angle_Rayon_De_Couleur/2}}
-endif
-repeat $Repetition_Couleurs
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
R_e={round(?(0,255))}
V_e={round(?(0,255))}
B_e={round(?(0,255))}
-endif
Nb_De_Rayon_De_Couleur={$Nb_De_Rayon_De_Couleur+1}
Angle_Rayon_De_Couleur_En_Cours={{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
Angle_Rayon_De_Couleur_En_Cours_Fin={$Angle_Rayon_De_Couleur+{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
-if {$Activer_Rayons_De_Couleurs==1}
-polygon[-1] 3,50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},1,$R_a,$V_a,$B_a,$A_a
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}}
-line[-2] 50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},1,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
Nb_De_Rayon_De_Couleur={$Nb_De_Rayon_De_Couleur+1}
Angle_Rayon_De_Couleur_En_Cours={{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
Angle_Rayon_De_Couleur_En_Cours_Fin={$Angle_Rayon_De_Couleur+{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
-if {$Activer_Rayons_De_Couleurs==1}
-polygon[-1] 3,50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},1,$R_b,$V_b,$B_b,$A_b
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}}
-line[-2] 50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},1,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
Nb_De_Rayon_De_Couleur={$Nb_De_Rayon_De_Couleur+1}
Angle_Rayon_De_Couleur_En_Cours={{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
Angle_Rayon_De_Couleur_En_Cours_Fin={$Angle_Rayon_De_Couleur+{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
-if {$Activer_Rayons_De_Couleurs==1}
-polygon[-1] 3,50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},1,$R_c,$V_c,$B_c,$A_c
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}}
-line[-2] 50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},1,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
Nb_De_Rayon_De_Couleur={$Nb_De_Rayon_De_Couleur+1}
Angle_Rayon_De_Couleur_En_Cours={{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
Angle_Rayon_De_Couleur_En_Cours_Fin={$Angle_Rayon_De_Couleur+{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
-if {$Activer_Rayons_De_Couleurs==1}
-polygon[-1] 3,50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},1,$R_d,$V_d,$B_d,$A_d
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}}
-line[-2] 50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},1,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
Nb_De_Rayon_De_Couleur={$Nb_De_Rayon_De_Couleur+1}
Angle_Rayon_De_Couleur_En_Cours={{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
Angle_Rayon_De_Couleur_En_Cours_Fin={$Angle_Rayon_De_Couleur+{$Angle_Rayon_De_Couleur*$Nb_De_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_En_Cours}
-if {$Activer_Rayons_De_Couleurs==1}
-polygon[-1] 3,50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin})}}},1,$R_e,$V_e,$B_e,$A_e
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}}
-line[-2] 50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours})}}},1,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-done
Rayon_Cercle_En_Cours=$Rayon_Cercle_Final
Rayon_Cercle_Precedent=$Rayon_Cercle_Final
Nb_boucles=0
# Rotation des cercles concentriques
-repeat $Nb_Circles
-if {$Type_Variation_Dimensions_Cercles==0} # Sin A
-if {{$Nb_Circles-$Nb_boucles}>1}
Decrement_Rayon={abs({{{$Rayon_Cercle_Precedent*{cos({pi/180*{$Angle_Variation_Fin}})}}-{$Rayon_Cercle_Precedent*{cos({pi/180*{$Angle_Variation_Origine}})}}}/$Nb_Circles})}
-else
Decrement_Rayon={$Rayon_Cercle_Final-$Rayon_Cercle_En_Cours}
-endif
-elif {$Type_Variation_Dimensions_Cercles==1} # Sin B
-if {{$Nb_Circles-$Nb_boucles}>1}
Decrement_Rayon={abs({{{$Rayon_Cercle_Precedent*{-1+{cos({pi/180*{$Angle_Variation_Fin}})}}}-{$Rayon_Cercle_Precedent*{1+{cos({pi/180*{$Angle_Variation_Origine}})}}}}/$Nb_Circles})}
-else
Decrement_Rayon={$Rayon_Cercle_Final-$Rayon_Cercle_En_Cours}
-endif
-elif {$Type_Variation_Dimensions_Cercles==2} # Lineaire
Decrement_Rayon={abs({{{$Rayon_Cercle_Final*{1+{cos({pi/180*{$Angle_Variation_Fin}})}}}-{$Rayon_Cercle_Final*{1+{cos({pi/180*{$Angle_Variation_Origine}})}}}}/$Nb_Circles})}
-endif
-if {$Sens_Rotation_Horaire==1}
Angle_Decalage_Couleurs_En_Cours={{$Decalage_Cercles*$Angle_Rayon_De_Couleur/100}+$Angle_Decalage_Couleurs_En_Cours+{$Angle_Decalage_Couleurs+{$Angle_Rayon_De_Couleur/2}}}
-else
Angle_Decalage_Couleurs_En_Cours={{$Decalage_Cercles*$Angle_Rayon_De_Couleur/100*-1}+$Angle_Decalage_Couleurs_En_Cours-{$Angle_Decalage_Couleurs+{$Angle_Rayon_De_Couleur/2}}}
-endif
-if {$Coef_Variation>0} # lin
Rayon_Cercle_En_Cours={$Rayon_Cercle_En_Cours-{$Decrement_Rayon*$Coef_Variation}}
-else
Rayon_Cercle_En_Cours={$Rayon_Cercle_En_Cours-{$Decrement_Rayon*{abs($Coef_Variation)}/{$Nb_boucles+1}}}
-endif
# copie image couleurs , rotation , ajuster aux bonnes dimensions
--Je_passe_l_hiver_en_Floride[-1]
-rotate[-1] {$Angle_Decalage_Couleurs_En_Cours}
-crop[-1] {{{w}-$Dimension_Finale}/2},{{{h}-$Dimension_Finale}/2},{{{{w}-$Dimension_Finale}/2}+$Dimension_Finale-1},{{{{h}-$Dimension_Finale}/2}+$Dimension_Finale-1}
# creation masque temporaire rond
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,255
-circle[-1] 50%,50%,$Rayon_Cercle_Precedent,1,255,0,0,255
-circle[-1] 50%,50%,$Rayon_Cercle_En_Cours,1,0,0,0,255
-replace_color[-1] 100%,0,255,0,0,255,0,0,0,0 # rouge vers transparence
# mélanges
-blend[-1,-2] alpha,1,1
-replace_color[-1] 100%,0,0,0,0,255,0,0,0,0 # noir vers transparence
-blend[-1,-2] alpha,1,1
# rotation contours
-if {$Affichage_Contours>0}
-reverse[-1,-2]
$Dimension_Finale,$Dimension_Finale,1,4
--Je_passe_l_hiver_en_Floride[-2]
-rotate[-1] $Angle_Decalage_Couleurs_En_Cours
-crop[-1] {{{w}-$Dimension_Finale}/2},{{{h}-$Dimension_Finale}/2},{{{{w}-$Dimension_Finale}/2}+$Dimension_Finale-1},{{{{h}-$Dimension_Finale}/2}+$Dimension_Finale-1}
-circle[-1] 50%,50%,$Rayon_Cercle_En_Cours,1,0,0,0,0
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,255
-circle[-1] 50%,50%,$Rayon_Cercle_Precedent,1,0,0,0,0
-blend[-1,-2] alpha,1,1
-replace_color[-1] 100%,0,0,0,0,255,0,0,0,0 # noir vers transparence
-blend[-1,-2] alpha,1,1
# contours cercles
-if {{$Affichage_Contours==1}||{$Affichage_Contours==3}}
-ellipse[-1] 50%,50%,$Rayon_Cercle_En_Cours,$Rayon_Cercle_En_Cours,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-blend[-1,-4] alpha,1,0
-reverse[-1,-2]
-endif
Rayon_Dernier_Cercle=$Rayon_Cercle_Precedent
Rayon_Cercle_Precedent=$Rayon_Cercle_En_Cours
Nb_boucles={$Nb_boucles+1}
-done
-rm[-2]
# contour cercle
-if {{$Affichage_Contours==1}||{$Affichage_Contours==3}}
-ellipse[-2] 50%,50%,$Rayon_Cercle_Final,$Rayon_Cercle_Final,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Dilate_Contours>1} -dilate_circ[-2] $Dilate_Contours -endif
-if {$Flou_Contours>0} -blur[-2] $Flou_Contours,0 -endif
-if {$Sharpen_Contours>0} -sharpen[-2] $Sharpen_Contours -endif
-if {$Filtre_Symmetrizoscope==1}
-gimp_symmetrizoscope[-1,-2] $Iterations_Symmetrizoscope,$Angle_Symmetrizoscope,0,$Symmetry_Sides
Conserver_Exterieur_Cercles=0
-endif
-if {$Conserver_Exterieur_Cercles==0}
# creation masque temporaire rond
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 255,0,0,255
-circle[-1] 50%,50%,$Rayon_Cercle_Final,1,0,0,0,255
-replace_color[-1] 100%,0,255,0,0,255,0,0,0,0 # rouge vers transparence
# mélanges
-reverse[-1,-2]
-blend[-2,-1] add,1,0
-endif
-if {$Supprimer_Calque_Origine==1}
-rm[0]
-if {$Melange_Couleurs_Contours==1}
-reverse[-1,-2]
-blend[-1,-2] alpha,1,0
-else
-reverse[-1,-2]
-endif
-else
-if {$Melange_Couleurs_Contours==1}
-reverse[-1,-2]
-blend[-1,-2] alpha,1,0
-reverse[-1,-2]
-else
-reverse[-1,-2,-3]
-endif
-endif
#################################################
## ##
## FIN Cercles_Concentriques_A ##
## ##
#################################################
#################################################
## ##
## Annular_Steiner_Chain_Round_Tile ##
## ##
#################################################
# 2015/04/19 origine
# 2015/04/21 amélioration rendu pour les cercles extérieurs
#@gimp Annular_Steiner_Chain_Round_Tile : Annular_Steiner_Chain_Round_Tile, Annular_Steiner_Chain_Round_Tile(1)
#@gimp : note = note("Annular Steiner Chain Round Tiles")
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Image Finale")
#@gimp : Dimension en pixels = int(800,256,1920)
#@gimp : Supprimer Calque Origine = bool(1)
#@gimp : sep = separator(), note = note("Image")
#@gimp : Position X Origine (%) = float(0,0,100)
#@gimp : Position Y Origine (%) = float(0,0,100)
#@gimp : Dimension (%) = float(100,1,100)
#@gimp : Angle D\303\251calage Image Contour = float(0,0,360)
#@gimp : Image Contour Dimension = float(100,1,100)
#@gimp : Nb Cercles Ext\303\251rieurs / Circles Surrounding = int(12,3,180)
#@gimp : Angle Inclinaison / Tilt = float(0,0,360)
#@gimp : sep = separator(), note = note("Couleurs Formes")
#@gimp : Activer Couleurs Formes = bool(1)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage / Display Contours = choice(0,"Sans","A","B","C","D","E","F","G")
#@gimp : Cercle / Circle C = color(255,255,0,127)
#@gimp : Cercle / Circle D = color(0,0,255,127)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/21.")
Annular_Steiner_Chain_Round_Tile:
Dimension_Finale=$1
Supprimer_Calque_Origine=$2
X={round({{w}*{$3/100}})}
Y={round({{h}*{$4/100}})}
Dimension_Image=$5
Decalage_Angle_Images_Contour=$6
Image_Contour_Dimension=$7
Nb_Circles_Surrounding=$8
Angle_inclinaison=$9
Activer_Couleurs_Formes=$10
R_Contours=$11
V_Contours=$12
B_Contours=$13
A_Contours=$14
Affichage_Contours=$15
R_c=$16
V_c=$17
B_c=$18
A_c=$19
R_d=$20
V_d=$21
B_d=$22
A_d=$23
Couleurs_aleatoires=$24
Largeur_Origine={w}
Hauteur_Origine={h}
Angle_Theta={pi/$Nb_Circles_Surrounding}
# variables dimensions
Rayon_Cercle_Exterieur_Final={$Dimension_Finale/2}
Rayon_Cercle_Centre_Final={{$Rayon_Cercle_Exterieur_Final*{1-{sin($Angle_Theta)}}}/{{1+{sin($Angle_Theta)}}}}
Rayon_Cercles_Ext_Final={{$Rayon_Cercle_Exterieur_Final-$Rayon_Cercle_Centre_Final}/2}
Rayon_Centres_C_Ext_Final={$Rayon_Cercle_Centre_Final+$Rayon_Cercles_Ext_Final}
Rayon_Tang_Final={{{$Rayon_Centres_C_Ext_Final*$Rayon_Centres_C_Ext_Final}-{$Rayon_Cercles_Ext_Final*$Rayon_Cercles_Ext_Final}}^0.5}
Fin_X={round({{{w}-$X}*$Dimension_Image/{100}})}
Fin_Y={round({{{h}-$Y}*$Dimension_Image/{100}})}
-if {$Fin_X>$Fin_Y}
Rayon_Cercle_Centre_Origine={$Fin_Y/2}
-else
Rayon_Cercle_Centre_Origine={$Fin_X/2}
-endif
-to_rgb[-1]
# masque image extérieure
{$Rayon_Cercles_Ext_Final*2*$Image_Contour_Dimension/100},{$Rayon_Cercles_Ext_Final*2*$Image_Contour_Dimension/100},1,4
-fill_color[-1] 0,0,0,0
-circle[-1] 50%,50%,{{w}/2},1,0,0,0,255
# image extérieure
--Je_passe_l_hiver_en_Floride[0]
-crop[-1] $X,$Y,{$X+{$Rayon_Cercle_Centre_Origine*2}},{$Y+{$Rayon_Cercle_Centre_Origine*2}}
-resize2dy[-1] {$Rayon_Cercles_Ext_Final*2*$Image_Contour_Dimension/100}
# ? ajout de filtres en [-1] pour modifier rendu image extérieure
-blend[-1,-2] alpha
# masque image centrale
{$Rayon_Cercle_Centre_Final*2},{$Rayon_Cercle_Centre_Final*2},1,4
-fill_color[-1] 0,0,0,0
-circle[-1] 50%,50%,{{w}/2},1,0,0,0,255
# image centrale
--Je_passe_l_hiver_en_Floride[0]
-crop[-1] $X,$Y,{$X+{$Rayon_Cercle_Centre_Origine*2}},{$Y+{$Rayon_Cercle_Centre_Origine*2}}
-resize2dy[-1] {$Rayon_Cercle_Centre_Final*2}
# ? ajout de filtres en [-1] pour modifier rendu image centrale
-blend[-1,-2] alpha,1,1
-expand_xy[-1] {$Rayon_Cercle_Exterieur_Final-$Rayon_Cercle_Centre_Final},0
Nb_boucles=0
X_ext=0
Y_ext=0
Angle=0
Dimension_Img_pivotee=0
X_Deplacement=0
Y_Deplacement=0
-repeat $Nb_Circles_Surrounding
Angle={$Nb_boucles*{360/$Nb_Circles_Surrounding}}
X_ext={$Rayon_Cercle_Exterieur_Final+{$Rayon_Centres_C_Ext_Final*{cos({pi/180*{$Angle+$Angle_inclinaison}})}}}
Y_ext={$Rayon_Cercle_Exterieur_Final+{$Rayon_Centres_C_Ext_Final*{sin({pi/180*{$Angle+$Angle_inclinaison}})}}}
Nb_boucles={$Nb_boucles+1}
-if {$Couleurs_aleatoires==1}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
-endif
-if {$Activer_Couleurs_Formes==1}
-if {{($Nb_Circles_Surrounding%2)}==0}
-if {{($Nb_boucles%2)}==0}
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext_Final,$Rayon_Cercles_Ext_Final,0,1,$R_c,$V_c,$B_c,$A_c
-else
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext_Final,$Rayon_Cercles_Ext_Final,0,1,$R_d,$V_d,$B_d,$A_d
-endif
-else
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext_Final,$Rayon_Cercles_Ext_Final,0,1,$R_c,$V_c,$B_c,$A_c
-endif
-if {$Affichage_Contours>0}
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext_Final,$Rayon_Cercles_Ext_Final,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-endif
--Je_passe_l_hiver_en_Floride[-2]
-rotate[-1] {$Angle+$Decalage_Angle_Images_Contour}
# genre d'autocrop
-crop[-1] {{{w}-{$Rayon_Cercles_Ext_Final*2}}/2},{{{h}-{$Rayon_Cercles_Ext_Final*2}}/2},{{{{w}-{$Rayon_Cercles_Ext_Final*2}}/2}+{$Rayon_Cercles_Ext_Final*2}},{{{{h}-{$Rayon_Cercles_Ext_Final*2}}/2}+{$Rayon_Cercles_Ext_Final*2}}
# déplacer aux bonnes coordonnées
X_Deplacement={$X_ext-$Rayon_Cercles_Ext_Final}
Y_Deplacement={$Y_ext-$Rayon_Cercles_Ext_Final}
-crop[-1] {-$X_Deplacement},{-$Y_Deplacement},{{2*$Rayon_Cercle_Exterieur_Final}-$X_Deplacement-1},{{2*$Rayon_Cercle_Exterieur_Final}-$Y_Deplacement-1},0
# mélange vers image centrale
-blend[-1,-2] alpha,1,1
-done
-if {$Activer_Couleurs_Formes==1}
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==3}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-ellipse[-1] 50%,50%,$Rayon_Cercle_Exterieur_Final,$Rayon_Cercle_Exterieur_Final,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==3}||{$Affichage_Contours==4}||{$Affichage_Contours==6}}
-ellipse[-1] 50%,50%,$Rayon_Cercle_Centre_Final,$Rayon_Cercle_Centre_Final,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {{$Affichage_Contours==2}||{$Affichage_Contours==3}} # cercle des centres
-ellipse[-1] 50%,50%,$Rayon_Centres_C_Ext_Final,$Rayon_Centres_C_Ext_Final,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {{$Affichage_Contours==3}||{$Affichage_Contours==4}} # cercle des tang.
-ellipse[-1] 50%,50%,$Rayon_Tang_Final,$Rayon_Tang_Final,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-endif
-rm[-2]
-if {$Supprimer_Calque_Origine==1}
-rm[0]
-else
-reverse[0,-1]
-endif
#-text_outline[-1] {2*$Rayon_Cercle_Exterieur_Final},10,10,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Cercles_Ext_Final},10,60,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Centres_C_Ext_Final},10,110,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Tang_Final},10,160,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Cercle_Centre_Final},10,210,64,1,1,255,255,255
#################################################
## ##
## FIN Annular_Steiner_Chain_Round_Tile ##
## ##
#################################################
#################################################
## ##
## samj_Coeurs_Hearts_002 ##
## ##
#################################################
## 2015/03/13 samj_Coeurs_Hearts_002 remplace Coeurs_Hearts_001 , menu , preview , utilisation de gimp_blend pour avoir + d'effets
## 2014/04/26 to_rgb
## 20140423 blend
## Coeurs_Hearts_001 -samj_Coeurs_Hearts_001 16,100,0,0.5,1,3,0,0,1,0,0,0,255,0 Image http://www.fontplay.com/freephotos/4thfoldern/fp022706-13.jpg
#### coeur 16*16
#### (
#### 0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0;
#### 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0;
#### 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;
#### 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;
#### 0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0;
#### 0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0;
#### 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0;
#### 0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0;
#### 0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0;
#### 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0;
#### 0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0;
#### 0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0
#### )
#### motif 16*16
#### (
#### 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;
#### 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;
#### 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1;
#### 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1
#### )
#@gimp samj_Coeurs_Hearts_002 : samj_Coeurs_Hearts_002, samj_Coeurs_Hearts_002(1)
#@gimp : Sep = separator(), note = note("Des cœurs aux couleurs de l'image.")
#@gimp : Sep = separator(), note = note("Cœurs / Hearts")
#@gimp : R\303\251solution = int(16,4,128)
#@gimp : Remplissage % = float(100,20,100)
#@gimp : Angle Rotation = int(0,0,360)
#@gimp : Flou / Blur = float(0,0,2)
#@gimp : Coeurs / Hearts = bool(1)
#@gimp : Interpolation = int(0,0,3)
#@gimp : Couleur Fond / Background Color = color(255,255,255,255)
#@gimp : Gris = bool(0)
#@gimp : Amplification Couleurs / Colors Boost = bool(0)
#@gimp : Sep = separator(), note = note("M\303\251lange / Blend")
#@gimp : Type Avant Plan / Foreground = choice(0,"Type A","Type B")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/13.")
samj_Coeurs_Hearts_002 :
Resolution=$1
Remplissage=$2
Angle_Rotation_Motif=$3
flou=$4
Coeurs_Hearts=$5
Interpolation=$6
R_Couleur=$7
V_Couleur=$8
B_Couleur=$9
A_Couleur=$10
Gris=$11
Boost=$12
Type_Avant_Plan=$13
Mode_blend=$14
Opacity_blend=$15
-if {$Type_Avant_Plan==1}
--Je_passe_l_hiver_en_Floride[-1]
-to_rgb[-2]
-negative[-2]
-endif
-to_rgb[-1]
-negative[-1]
-if {$Interpolation==0}
-resize[-1] {{w}/$Resolution},{{h}/$Resolution}
-c[-1] 0,255
-elif {$Interpolation==1}
-resize[-1] {{w}/$Resolution},{{h}/$Resolution},1,3,3
-c[-1] 0,255
-elif {$Interpolation==2}
-resize[-1] {{w}/$Resolution},{{h}/$Resolution}
-n[-1] 0,255
-elif {$Interpolation==3}
-resize[-1] {{w}/$Resolution},{{h}/$Resolution},1,3,3
-n[-1] 0,255
-endif
-if {$Type_Avant_Plan==1}
-resize[-2] {{w}*$Resolution},{{h}*$Resolution}
-rm[-1]
-else
-resize[-1] {{w}*$Resolution},{{h}*$Resolution}
-endif
-if {$Gris==1}
-to_gray[-1]
-endif
-c[-1] 0,255
-if {$Boost==1}
-gimp_balance_gamma[-1] 128,128,128,1
-endif
-negative[-1]
-to_rgba[-1]
$Resolution,$Resolution,1,4
-fill_color[-1] 0,0,0,0
-if {$Coeurs_Hearts==1}
#### Coeur 16*16
(0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0;0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0;0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0;0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0;0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0;0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0;0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0;0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0)
-else
#### motif 16*16
(1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0;1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1;0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1)
-endif
-if {$Angle_Rotation_Motif>0}
-rotate[-1] $Angle_Rotation_Motif,0,0
-autocrop[-1] 0
-endif
-resize[-1] {$Resolution*$Remplissage/100},{$Resolution*$Remplissage/100}
-compose_alpha[-1,-2]
-resize[-1] [-2],[-2],1,1,0,2
-to_rgba[-1]
#-replace_color[-1] 100%,0,0,0,0,255,0,0,0,0
#-replace_color[-1] 100%,0,0,0,0,255,255,255,255,255
-replace_color[-1] 100%,0,0,0,0,255,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-replace_color[-1] 100%,0,1,1,1,255,0,0,0,0
-gimp_blend[-2,-1] $Mode_blend,2,$Opacity_blend,0 # alpha
-if {$flou>0}
-blur[-1] $flou,0
-endif
#################################################
## ##
## FIN samj_Coeurs_Hearts_002 ##
## ##
#################################################
#################################################################################################################################################################################################
#
# ARTISTIC
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_atistic :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Artistic
#################################################
## ##
## samj_texture_coloree ##
## ##
#################################################
# 2015/04/05 Pâques 2015 origine à partir de samj_test_E
#@gimp samj_texture_coloree : samj_texture_coloree, samj_texture_coloree(1)
#@gimp : note = note("samj_texture_coloree")
#@gimp : note = note("diffusiontensors")
#@gimp : Type = choice{"A","B","C","D","E","F"}
#@gimp : Sharpness = float(0.7,0.2,2)
#@gimp : note = note("Color")
#@gimp : Fond / Background Color = color(200,125,50)
#@gimp : note = note("Blur Linear")
#@gimp : Amplitude A = float(5,0,10)
#@gimp : Amplitude B = float(5,0,100)
#@gimp : Angle = float(45,0,360)
#@gimp : note = note("Sharpen")
#@gimp : Amplitude S = int(200,50,1000)
#@gimp : note = note("Blend")
#@gimp : It\303\251rations = int(4,1,8)
#@gimp : Opacit\303\251 / Opacity = float(0.2,0,0.3)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/05.")
samj_texture_coloree :
Type=$1
sharpness=$2
rf=$3
vf=$4
bf=$5
AmplitudeA=$6
AmplitudeB=$7
Angle=$8
AmplitudeS=$9
Iterations_Blend=$10
Opacite_Blend=$11
-if {$Type==0}
anisotropy=0
alpha=0
sigma=0
is_sqrt=1
-elif {$Type==1}
anisotropy=0
alpha=4
sigma=0
is_sqrt=1
-elif {$Type==2}
sharpness=0.5
anisotropy=0.3
alpha=4
sigma=2
is_sqrt=1
-elif {$Type==3}
anisotropy=0
alpha=0
sigma=0
is_sqrt=0
-elif {$Type==4}
anisotropy=0
alpha=4
sigma=0
is_sqrt=0
-elif {$Type==5}
sharpness=0.5
anisotropy=0.3
alpha=4
sigma=2
is_sqrt=0
-endif
-diffusiontensors[-1] $sharpness,$anisotropy,$alpha,$sigma,$is_sqrt
-n[-1] 0,255
-equalize[-1]
-gimp_decompose_channels[-1] 4,0,1,0
-remove[-1,-2]
-to_rgb[-1]
-gimp_8bits[-1] 100,10000,256
{w},{h},1,3
-fill_color[-1] $rf,$vf,$bf
-blend[-1,-2] add
-to_rgb[-1]
-repeat $Iterations_Blend
--Je_passe_l_hiver_en_Floride[-1]
-done
-blur_linear[-1] $AmplitudeA,{$AmplitudeB*$AmplitudeA/100},$Angle,1
-sharpen[-1] $AmplitudeS
-to_rgb[-1]
-repeat $Iterations_Blend
-gimp_blend_edges[-1,-2] $Opacite_Blend,5,0
-done
#################################################
## ##
## FIN samj_texture_coloree ##
## ##
#################################################
################################################################
## ##
## samj_Impressions ##
## ##
################################################################
# Pour créer des impressions plus ou moins abstraites à partir de samj_Angoisse
# 2015/04/02 origine
#@gimp samj_Impressions : samj_Impressions, samj_Impressions(1)
#@gimp : note = note("Spread")
#@gimp : Spread = float(10,0,50)
#@gimp : note = note("Textured Glass")
#@gimp : X-amplitude = float(5,0,400)
#@gimp : Y-amplitude = float(5,0,400)
#@gimp : X-smoothness = float(1,0,5)
#@gimp : Y-smoothness = float(1,0,5)
#@gimp : Edge attenuation = float(0,0,1)
#@gimp : Edge influence = float(2,0,10)
#@gimp : Noise scale = int(0,0,16)
#@gimp : note = note("Abstraction")
#@gimp : It\303\251rations = int(1,1,3)
#@gimp : note = note("Abstraction Dog")
#@gimp : Sigma 1 = float(5,0,10)
#@gimp : Sigma 2 = float(0,0,10)
#@gimp : note = note("Abstraction Segment Watershed")
#@gimp : Threshold = float(5,0,10)
#@gimp : note = note("Abstraction Smooth")
#@gimp : Amplitude = float(100,0,200)
#@gimp : note = note("Abstraction Noise")
#@gimp : Amplitude = float(2,0,10)
#@gimp : Type = choice(4,"Gaussian","Uniform","Salt and pepper","Poisson","Rice")
#@gimp : note = note("Blend")
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : note = note("Sharpen")
#@gimp : Amplitude = int(250,0,500)
#@gimp : note = note("Couleurs")
#@gimp : Couleurs = float(1.2,0.1,5)
#@gimp : sep = separator(), note = note("samj Derni\303\250re mise \303\240 jour : 2015/04/02.")
samj_Impressions :
Spread_fond=$1
X_amplitude=$2
Y_amplitude=$3
X_smoothness=$4
Y_smoothness=$5
Edge_attenuation=$6
Edge_influence=$7
Noise_scale=$8
iterations=$9
dog_sigma1=$10
dog_sigma2={$11/10}
sw_threshold=$12
smooth_amplitude=$13
noise_amplitude=$14
noise_type=$15
opacite=$16
sharpen_amplitude=$17
Couleurs=$18
-spread[-1] $Spread_fond
-gimp_textured_glass[-1] $X_amplitude,$Y_amplitude,$X_smoothness,$Y_smoothness,$Edge_attenuation,$Edge_influence,$Noise_scale
-to_rgb[-1]
--Je_passe_l_hiver_en_Floride[-1]
-repeat $iterations
-dog[-1] $dog_sigma1%,$dog_sigma2%
-segment_watershed[-1] $sw_threshold,1
-smooth[-1] $smooth_amplitude,0,1,1,3
-n[-1] 0,255
-if {$noise_amplitude>0} -noise[-1] $noise_amplitude,$noise_type -endif
-to_rgb[-1]
-gimp_decompose_channels[-1] 4,0,1,0
-remove[-1,-2]
-done
-to_rgb[-1]
-gimp_blend[-1,-2] 28,0,$opacite,0,1
-if {$sharpen_amplitude>0} -sharpen[-1] $sharpen_amplitude -endif
-gimp_custom_transform[-1] "i",i*$Couleurs,"i","i","i","i",0
################################################################
## ##
## FIN samj_Impressions ##
## ##
################################################################
################################################################
## ##
## samj_Barbouillage_Paint_Daub ##
## ##
################################################################
# Pour créer des barbouillages
# 2015/04/01 origine
# 2015/04/16 ajout Plasma (Aléatoire)
# 2015/04/17 ajout Plasma "Couleurs A" et "Couleurs B"
#@gimp samj_Barbouillage_Paint_Daub : samj_Barbouillage_Paint_Daub, samj_Barbouillage_Paint_Daub(1)
#@gimp : note = note("Barbouillage Paint Daub")
#@gimp : sep = separator(), note = note("Gradient Norm")
#@gimp : It\303\251rations = int(2,1,3)
#@gimp : sep = separator(), note = note("Smooth")
#@gimp : Amplitude = int(2,1,5)
#@gimp : Sharpness = int(100,0,500)
#@gimp : Anisotropy = float(0.2,0,0.5)
#@gimp : Sigma = float(1,0,10)
#@gimp : dl = float(4,0,10)
#@gimp : sep = separator(), note = note("Equalize")
#@gimp : Equalize = bool(1)
#@gimp : sep = separator(), note = note("Plasma Al\303\251atoire")
#@gimp : Plasma = choice(0,"Non","Couleurs A","Couleurs B")
#@gimp : Scale Plasma = int(8,1,30)
#@gimp : sep = separator(), note = note("samj Derni\303\250re mise \303\240 jour : 2015/04/17.")
samj_Barbouillage_Paint_Daub :
iterations=$1
amplitude=$2
sharpness=$3
anisotropy=$4
sigma=$5
dl=$6
egaliser=$7
Couleurs_Plasma=$8
Scale_Plasma=$9
-to_rgb[-1]
-if {$Couleurs_Plasma>0}
{w},{h},1,3
-fill_color[-1] 0,0,0
-plasma[-1] 1,1,$Scale_Plasma
-n[-1] 0,255
-if {$Couleurs_Plasma==1}
-gimp_decompose_channels[-1,-2] 2,0,1,0 -remove[-2,-3,-4] -gimp_decompose_channels 2,1,1,0
-elif {$Couleurs_Plasma==2}
-gimp_decompose_channels[-1,-2] 2,0,1,0 -remove[-1,-5,-6] -gimp_decompose_channels[-3,-2,-1] 2,1,1,0
-endif
-n[-1] 0,255
-to_rgb[-1]
-endif
--Je_passe_l_hiver_en_Floride[-1]
-repeat $iterations
-gradient_norm[-1]
-n[-1] 0,255
-equalize[-1]
-done
-engrave_modifie[-1] 4,0.5,4,0,8,40,0,25,1
-blend[-1,-2] add
-repeat $amplitude
-smooth[-1] $sharpness,$anisotropy,1,$sigma,$dl
-done
-n[-1] 0,255
-if {$egaliser==1} -equalize[-1] -endif
################################################################
## ##
## FIN samj_Barbouillage_Paint_Daub ##
## ##
################################################################
################################################################
## ##
## samj_Angoisse ##
## ##
################################################################
# Pour créer des couleurs angoissantes
# 2015/03/27 origine
#@gimp samj_Angoisse : samj_Angoisse, samj_Angoisse(1)
#@gimp : sep = separator(), note = note("It\303\251rations")
#@gimp : It\303\251rations = int(1,1,3)
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre dog")
#@gimp : Sigma 1 = float(5,0,10)
#@gimp : Sigma 2 = float(0,0,10)
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre segment_watershed")
#@gimp : Threshold = float(5,0,10)
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre smooth")
#@gimp : Amplitude = float(100,0,200)
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre noise")
#@gimp : Amplitude = float(2,0,10)
#@gimp : Type = choice(4,"Gaussian","Uniform","Salt and pepper","Poisson","Rice")
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre blend")
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre sharpen")
#@gimp : Amplitude = int(250,0,500)
#@gimp : sep = separator(), note = note("samj Derni\303\250re mise \303\240 jour : 2015/03/27.")
samj_Angoisse :
iterations=$1
dog_sigma1=$2
dog_sigma2={$3/10}
sw_threshold=$4
smooth_amplitude=$5
noise_amplitude=$6
noise_type=$7
opacite=$8
sharpen_amplitude=$9
-to_rgb[-1]
--Je_passe_l_hiver_en_Floride[-1]
-repeat $iterations
-dog[-1] $dog_sigma1%,$dog_sigma2%
-segment_watershed[-1] $sw_threshold,1
-smooth[-1] $smooth_amplitude,0,1,1,3
-n[-1] 0,255
-if {$noise_amplitude>0} -noise[-1] $noise_amplitude,$noise_type -endif
-to_rgb[-1]
-gimp_decompose_channels[-1] 4,0,1,0
-remove[-1,-2]
-done
-to_rgb[-1]
-gimp_blend[-1,-2] 28,0,$opacite,0,1
-if {$sharpen_amplitude>0} -sharpen[-1] $sharpen_amplitude -endif
################################################################
## ##
## FIN samj_Angoisse ##
## ##
################################################################
################################################################
## ##
## Début ensemble Chalk it up ##
## ##
################################################################
#********** Chalk it up **********
## forum : http://www.flickr.com/groups/gmic/discuss/72157631155481890/
## http://www.gimpchat.com/viewtopic.php?f=9&t=4982
## Version 1.00 19 août 2012 Merci à David pour la transposition au format G'MIC pour Gimp et l'aide :o)
## Version 1.1 20 août 2012 modification pour calques avec canal alpha par ajout de -remove_opacity ajout du traitement par canaux pour gimp_morpho & gimp_spread
## Version 1.2 16 octobre 2012 modifications paramètres gimp_morpho + choix RGB
## Version 1.3 3 mars 2015 -gimp_painting ajout 4e paramètre et paramètrage Canaux / Channel(s) gimp_morpho Canaux / Channel(s) gimp_spread
## Version 1.4 31 mars 2015 canaux gimp_morpho gimp_spread valeur par défaut : Linear RGB [all]
#@gimp Chalk it up : samj_chalkitup, samj_chalkitup_preview
#@gimp : note = note("Inspir\303\251 du didacticiel propos\303\251 par Lylejk")
#@gimp : note = note("Inspired by the tutorial proposed by Lylejk")
#@gimp : note = link("http://justpaste.it/chalk_it_up","http://justpaste.it/chalk_it_up")
#@gimp : sep = separator(), note = note("Param\303\250tres peinturage / Painting parameters")
#@gimp : Abstraction = int(5,0,10)
#@gimp : Pr\303\251cision Details / Details scale = float(2.5,0,10)
#@gimp : Couleur / Color = float(1.5,0,5)
#@gimp : Douceur / Smoothness = float(50,0,200)
#@gimp : Accentuation nuances / Sharpen shades = bool(1)
#@gimp : sep = separator(), note = note("Param\303\250tres filtre Morpho / Morpho parameters")
#@gimp : Action = choice(5,"Erosion","Dilation","Opening","Closing","Original - Erosion","Dilation - Original","Original - Opening","Closing - Original")
#@gimp : Taille / Size = int(5,0,32)
#@gimp : Inversion Couleurs / Invert colors = bool(0)
#@gimp : Modeler / Shape = int(0,0,1)
#@gimp : Canaux / Channel(s) = choice(7,"All","RGBA [all]","RGB [all]","RGB [red]","RGB [green]","RGB [blue]","RGBA [alpha]","Linear RGB [all]","Linear RGB [red]","Linear RGB [green]","Linear RGB [blue]","YCbCr [luminance]","YCbCr [blue-red chrominances]","YCbCr [blue chrominance]","YCbCr [red chrominance]","YCbCr [green chrominance]","Lab [lightness]","Lab [ab-chrominances]","Lab [a-chrominance]","Lab [b-chrominance]","Lch [ch-chrominances]","Lch [c-chrominance]","Lch [h-chrominance]","HSV [hue]","HSV [saturation]","HSV [value]","HSI [intensity]","HSL [lightness]","CMYK [cyan]","CMYK [magenta]","CMYK [yellow]","CMYK [key]")
#@gimp : sep = separator(), note = note("Param\303\250tres filtre Spread / Spread parameters")
#@gimp : X-variations = float(0.8,-5,5)
#@gimp : Y-variations = float(1.9,-5,5)
#@gimp : Canaux / Channel(s) = choice(7,"All","RGBA [all]","RGB [all]","RGB [red]","RGB [green]","RGB [blue]","RGBA [alpha]","Linear RGB [all]","Linear RGB [red]","Linear RGB [green]","Linear RGB [blue]","YCbCr [luminance]","YCbCr [blue-red chrominances]","YCbCr [blue chrominance]","YCbCr [red chrominance]","YCbCr [green chrominance]","Lab [lightness]","Lab [ab-chrominances]","Lab [a-chrominance]","Lab [b-chrominance]","Lch [ch-chrominances]","Lch [c-chrominance]","Lch [h-chrominance]","HSV [hue]","HSV [saturation]","HSV [value]","HSI [intensity]","HSL [lightness]","CMYK [cyan]","CMYK [magenta]","CMYK [yellow]","CMYK [key]")
#@gimp : sep = separator(), Type Aper\303\247u = choice("Tout","Rendu en bas","Rendu a droite","Rendu en haut","Rendu a gauche")
#@gimp : sep = separator(), note = note("Auteurs / Authors : Lylejk/samj/Ronounours. Derni\303\250re mise \303\240 jour : 2015/03/31.")
samj_chalkitup :
####### Déclaration des variables
#gimp_painting
Abstraction=$1
Details_scale=$2
Color=$3
Smoothness=$4
Sharpen_shades=$5
#gimp_morpho
Action=$6
Size=$7
Invert_colors=$8
Shape=$9
Channel_morpho=$10
#gimp_spread
X_variations=$11
Y_variations=$12
Channel_spread=$13
####### Ligne de commandes
-repeat @# -l[$>]
-remove_opacity[-1]
-gimp_painting[-1] $Abstraction,$Details_scale,$Color,$Smoothness,$Sharpen_shades
-gimp_morpho[-1] $Action,$Size,$Invert_colors,$Shape,$Channel_morpho,0
-gimp_spread[-1] $X_variations,$Y_variations,$Channel_spread,0
-endl -done
samj_chalkitup_preview :
-gimp_split_preview "-samj_chalkitup ${1--2}",$-1
################################################################
## ##
## FIN Début ensemble Chalk it up ##
## ##
################################################################
#################################################
## ##
## Texture Granuleuse ##
## ##
#################################################
# 2015/03/31 changement parametre canaux sur -gimp_local_orientation
# 2015/03/07 Ancien filtre samj_gimp_texture_zero_zero_un , Granular Texture / Texture Granuleuse remplace samj_gimp_texture_zero_zero_un , Je_passe_l_hiver_en_Floride remplace gimp_do_nothing
# 2014/04/24 blend
#@gimp Granular Texture : samj_Texture_Granuleuse, samj_Texture_Granuleuse_preview(0)
#@gimp : note = note("Texture Granuleuse / Granular Texture")
#@gimp : sep = separator()
#@gimp : Douceur / Smoothness Gradient RGB = float(0,0.5,2)
#@gimp : Maximum Seuil D\303\251grad\303\251 / Max threshold Gradient RGB = float(20,10,50)
#@gimp : sep = separator()
#@gimp : Amplitude Bruit / Noise = float(80.0,40,200)
#@gimp : sep = separator()
#@gimp : Couleurs / Colors = float(0,-20,20)
#@gimp : Balance des couleurs automatique / Automatic color balance = bool(0)
#@gimp : sep = separator()
#@gimp : sep = separator(), Type Aper\303\247u = choice("Tout","Rendu en bas","Rendu a droite","Rendu en haut","Rendu a gauche")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/31.")
samj_Texture_Granuleuse :
-repeat @# -l[$>]
Smoothness_Gradient_RGB=$1
Max_threshold_Gradient_RGB=$2
Amplitude_Noise=$3
Colors=$4
Automatic_color_balance=$5
--Je_passe_l_hiver_en_Floride[-1]
-gimp_gradient2rgb[-1] $Smoothness_Gradient_RGB,0,$Max_threshold_Gradient_RGB,0,0
{w},{h},1,3
-fill_color[-1] 255,255,255
-to_rgb[-1]
-gimp_noise[-1] $Amplitude_Noise,0,2,0
-blend[-1,-2] negation,1,1
-gimp_tk_colortemp[-1] $Colors,$Automatic_color_balance
-gimp_local_orientation[-1] 0,0,100,0,11
-gimp_normalize_local[-1] 0,6,5,20,1,2
-blend[0,-1] grainmerge,1,1
-endl -done
samj_Texture_Granuleuse_preview :
-gimp_split_preview "-samj_Texture_Granuleuse $*",$-1
#################################################
## ##
## FIN Texture Granuleuse ##
## ##
#################################################
#################################################################################################################################################################################################
#
# BLACK & WHITE
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_black_and_white :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Black & white
#################################################
## ##
## samj_scintillements ##
## ##
#################################################
# 2015/04/14 origine
#@gimp samj_scintillements : samj_scintillements, samj_scintillements(1)
#@gimp : note = note("samj_scintillements")
#@gimp : Exemples = choice{"Non","A","B","C","D Image Noire","E Image Noire - Scintillements","F Image Noire - Stars"}
#@gimp : note = note("Dog")
#@gimp : Sigma 1 = float(5,0,10)
#@gimp : Sigma 2 = float(0,0,10)
#@gimp : It\303\251rations = int(1,1,8)
#@gimp : note = note("Noise")
#@gimp : Variation = int(20,0,100)
#@gimp : Type = choice{2,"Gaussian","Uniform","Salt and Pepper","Poisson","Rice"}
#@gimp : note = note("Circle")
#@gimp : Amplitude = int(6,3,20)
#@gimp : note = note("Blur Linear")
#@gimp : Amplitude A = float(20,0,100)
#@gimp : Amplitude B = float(5,0,100)
#@gimp : Angle = float(45,0,120)
#@gimp : note = note("Local normalization")
#@gimp : Amplitude = float(2,0,60)
#@gimp : Radius = int(6,1,64)
#@gimp : Neighborhood smoothness = float(5,0,40)
#@gimp : Average smoothness = float(20,0,40)
#@gimp : Constrain values = bool(1)
#@gimp : Channel(s) = choice(7,"All","RGBA [all]","RGB [all]","RGB [red]","RGB [green]","RGB [blue]","RGBA [alpha]","YCbCr [luminance]","YCbCr [blue-red chrominances]","YCbCr [blue chrominance]","YCbCr [red chrominance]","YCbCr [green chrominance]","Lab [lightness]","Lab [ab-chrominances]","Lab [a-chrominance]","Lab [b-chrominance]","Lch [ch-chrominances]","Lch [c-chrominance]","Lch [h-chrominance]","HSV [hue]","HSV [saturation]","HSV [value]","HSI [intensity]","HSL [lightness]","CMYK [cyan]","CMYK [magenta]","CMYK [yellow]","CMYK [key]")
#@gimp : note = note("Couleurs")
#@gimp : Inverser Couleur = bool(0)
#@gimp : D\303\251gradation = float(0,-50,50)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/14.")
samj_scintillements :
Exemple=$1
dog_sigma1=$2
dog_sigma2={$3/10}
dog_Iterations=$4
Variation_noise=$5
Type_noise=$6
Amplitude_circle=$7
AmplitudeA=$8
AmplitudeB=$9
Angle=$10
Amplitude_ln=$11
Radius_ln=$12
Neighborhood_smoothness_ln=$13
Average_smoothness_ln=$14
Constrain_values_ln=$15
Channel_ln=$16
Inverser_couleur=$17
Degradation_pow={1+{$18/100}}
-to_rgb[-1]
-if {$Exemple==1}
Variation_noise=70
Amplitude_circle=3
Angle=0
-elif {$Exemple==2}
Variation_noise=70
Amplitude_circle=3
Angle=40
-elif {$Exemple==3}
Variation_noise=70
Amplitude_circle=3
Angle=80
-elif {$Exemple==4}
-fill_color[-1] 0,0,0
-noise[-1] $Variation_noise,$Type_noise
-norm[-1]
-elif {$Exemple==5}
Variation_noise=2
-fill_color[-1] 0,0,0
-noise[-1] $Variation_noise,$Type_noise
-norm[-1]
-elif {$Exemple==6}
-fill_color[-1] 0,0,0
-noise[-1] $Variation_noise,$Type_noise
-norm[-1]
Amplitude_circle={$Amplitude_circle+25}
-endif
-repeat $dog_Iterations
-dog[-1] $dog_sigma1%,$dog_sigma2%
-done
#filtre sponge (par David Tschumperlé) adapté
{w},{h},1
-noise[-1] $Variation_noise,$Type_noise
-r[-1] [-2]
-n[-1] 0,1
-*[-1,-2]
-_circle_1610 $Amplitude_circle
-dilate[-2] [-1]
-rm[-1]
#fin filtre sponge adapté
--Je_passe_l_hiver_en_Floride[-1]
--Je_passe_l_hiver_en_Floride[-1]
-blur_linear[-1] $AmplitudeA,{$AmplitudeB*$AmplitudeA/100},$Angle,1
-blur_linear[-2] $AmplitudeA,{$AmplitudeB*$AmplitudeA/100},{$Angle+120},1
-blur_linear[-3] $AmplitudeA,{$AmplitudeB*$AmplitudeA/100},{$Angle+240},1
-n[-1,-2,-3] 0,255
-gimp_blend_average_all[-1,-2,-3]
-gimp_normalize_local[-1] $Amplitude_ln,$Radius_ln,$Neighborhood_smoothness_ln,$Average_smoothness_ln,$Constrain_values_ln,$Channel_ln
-if {$Degradation_pow!=1}
-pow[-1] $Degradation_pow
-n[-1] 0,255
-endif
-if {$Inverser_couleur==1} -negative[-1] -endif
#fonction _circle (par David Tschumperlé) de GMIC 1610
_circle_1610 :
-if {$1%2==0}
-i 2,2
-else
-i 1
-endif
-+[-1] 1
-r[-1] $1,$1,1,1,0,0,0.5,0.5
-distance[-1] 1
-n[-1] 0,1
-sqrt[-1]
-c[-1] 0.85,0.86
-*[-1] -1
-n[-1] 0,1
#################################################
## ##
## FIN samj_scintillements ##
## ##
#################################################
#################################################
## ##
## Engrave_colore ##
## ##
#################################################
# 2015/03/23 ajout sortie 3 calques pour couleurs , modifications paramètres -dilate_circ
# 2015/03/22 ajout couleurs à partir de l'image
# 2015/03/21 origine à partir de engrave_modifie
#@gimp Engrave_colore : Engrave_colore, Engrave_colore(1)
#@gimp : Note = note("Modification du Filtre de Lyle Kroll et David Tschumperlé")
#@gimp : Note = note("pour obtenir des gravures colorées - samj 20150321")
#@gimp : sep = separator()
#@gimp : Exemples / Examples = choice(0,"Non / None","A","B","C","D ***","E","F","G")
#@gimp : Note = note("Gravure / Engraving")
#@gimp : Radius = float(0.5,0,2)
#@gimp : Densite A = float(4,0,10)
#@gimp : Edges = float(0,0,10)
#@gimp : Coherence = float(8,0,40)
#@gimp : Threshold (%) = float(40,0,100)
#@gimp : Minimal area = int(0,-256,256)
#@gimp : Repetition = int(25,0,50)
#@gimp : Note = note("Anti-aliasing")
#@gimp : Anti-aliasing = choice(1,"Disabled","A","B","C")
#@gimp : Note = note("Couleurs / Colors")
#@gimp : Gravure / Engraving = choice(2,"Avant Plan","Image Avec Contours Des Couleurs 8","Image Avec Contours Des Couleurs 16","Image Avec Contours Des Couleurs 32","Image Avec Contours Des Couleurs 64","Image Sans Contours Des Couleurs 8","Image Sans Contours Des Couleurs 16","Image Sans Contours Des Couleurs 32","Image Sans Contours Des Couleurs 64","3 calques - Image Sans Contours Des Couleurs 8","3 calques - Image Sans Contours Des Couleurs 16","3 calques - Image Sans Contours Des Couleurs 32","3 calques - Image Sans Contours Des Couleurs 64")
#@gimp : Avant Plan = color(0,0,0)
#@gimp : Fond / Background Color = color(255,255,255)
#@gimp : Sep = separator(), note = note("Authors: Lyle Kroll and David Tschumperlé . Latest update: 2015/03/23.")
Engrave_colore :
Examples=$1
Radius=$2
Densite_A=$3
Edges=$4
Coherence=$5
Threshold=$6
Minimal_Area=$7
Repetition=$8
Anti_Aliasing=$9
Choix_Couleur=$10
R_C1=$11
V_C1=$12
B_C1=$13
R_C2=$14
V_C2=$15
B_C2=$16
-if {$Examples==1}
Radius={0.475+{$Radius/20}}
Densite_A={3.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={55-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==2}
Radius={0.275+{$Radius/20}}
Densite_A={2.3+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={55-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==3}
Radius={0.475+{$Radius/20}}
Densite_A={3.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={7-{$Coherence/20}}
Threshold={48+{$Threshold/20}}
Minimal_Area=-100
Repetition={20-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==4}
Radius={0.175+{$Radius/20}}
Densite_A={12-{$Densite_A/2}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={30-{$Repetition/10}}
Anti_Aliasing=3
-elif {$Examples==5}
Radius={1.975+{$Radius/20}}
Densite_A={1.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={2-{$Coherence/20}}
Threshold={18+{$Threshold/20}}
Minimal_Area=-100
Repetition={55-{$Repetition/10}}
Anti_Aliasing=2
-elif {$Examples==6}
Radius={0.975+{$Radius/20}}
Densite_A={2.3+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={28+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={55-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==7}
Radius={0.475+{$Radius/20}}
Densite_A={3.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={-5+{$Repetition/10}}
Anti_Aliasing=1
-endif
f={arg(1+$Anti_Aliasing,1,1.5,2,3)}
r={$f*$Radius}
nm=@{-gimp_layer_name}
pos=@{-gimp_layer_pos}
C1_blanc=0
Blend_final=0
-to_rgb[-1]
-if {$Choix_Couleur==0}
Blend_final=0
-elif {$Choix_Couleur==1}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 8,2
Blend_final=1
-elif {$Choix_Couleur==2}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 16,2
Blend_final=1
-elif {$Choix_Couleur==3}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 32,2
Blend_final=1
-elif {$Choix_Couleur==4}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 64,2
Blend_final=1
-elif {$Choix_Couleur==5}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 8,2
-dilate_circ[-2] 2
-blur[-2] 2
Blend_final=1
-elif {$Choix_Couleur==6}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 16,2
-dilate_circ[-2] 4
-blur[-2] 2
Blend_final=1
-elif {$Choix_Couleur==7}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 32,2
-dilate_circ[-2] 8
-blur[-2] 2
Blend_final=1
-elif {$Choix_Couleur==8}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 64,2
-dilate_circ[-2] 16
-blur[-2] 2
Blend_final=1
-elif {$Choix_Couleur==9}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 8,2
-dilate_circ[-2] 2
-blur[-2] 2
Blend_final=2
-elif {$Choix_Couleur==10}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 16,2
-dilate_circ[-2] 4
-blur[-2] 2
Blend_final=2
-elif {$Choix_Couleur==11}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 32,2
-dilate_circ[-2] 8
-blur[-2] 2
Blend_final=2
-elif {$Choix_Couleur==12}
--Je_passe_l_hiver_en_Floride[-1]
-topographic_map[-2] 64,2
-dilate_circ[-2] 16
-blur[-2] 2
Blend_final=2
-endif
-if {{$R_C1+$V_C1+$B_C1}==765}
C1_blanc=1
B_C1=254
-endif
-l[-1]
-split_opacity[-1]
-l[-1]
wh={w},{h}
-norm[-1]
-if $Anti_Aliasing
-r[-1] {100*$f}%,{100*$f}%,1,1,3
-endif
-l[-1]
-repeat $Repetition
-b[-1] $r
-unsharp[-1] $r,{$Densite_A}
-c[-1] 0,255
-done
-smooth[-1] 100,0.1,1,{$f*$Edges},{$f*$Coherence}
->=[-1] {100-$Threshold}%
-endl
-if {$Minimal_Area<0}
-area_fg[-1] 0,0
-gt[-1] {$f*$Minimal_Area*$Minimal_Area}
-elif {$Minimal_Area>0}
-==[-1] 0
-area_fg[-1] 0,0
-gt[-1] {$f*$Minimal_Area*$Minimal_Area}
-==[-1] 0
-endif
-n[-1] 0,255
-to_rgb[-1]
-if {$Blend_final==0}
-replace_color[-1] 0,0,0,0,0,$R_C1,$V_C1,$B_C1
-replace_color[-1] 0,0,255,255,255,$R_C2,$V_C2,$B_C2
-if {$C1_blanc==1}
-replace_color[-1] 0,0,255,255,254,255,255,255
-endif
-endif
-if $Anti_Aliasing
-r[-1] $wh,1,3,2
-else
-r[-1] $wh
-endif
-endl
-a[-1] c
-endl
-if {$Blend_final==1}
-blend[-1,-2] add
-replace_color[-1] 0,0,255,255,255,$R_C2,$V_C2,$B_C2
-elif {$Blend_final==2}
$wh,1,3
-to_rgb[-1]
-replace_color[-1] 0,0,0,0,0,$R_C2,$V_C2,$B_C2
# -display [-3,-2,-1]
-nm[-3] mode(add),name($nm" [couleurs]"),pos($pos)
-nm[-2] name($nm" [gravure]"),pos($pos)
-endif
#################################################
## ##
## FIN Engrave_colore ##
## ##
#################################################
#################################################
## ##
## Engrave_modifie ##
## ##
#################################################
# 2015/03/30 modification des exemples avec petites variations des curseurs suite aux remarques de Lyle Kroll sur Gimpchat :o)
# 2015/03/18 ajout exemples
# 2015/03/17 origine
#@gimp Engrave_modifie : engrave_modifie, engrave_modifie(1)
#@gimp : Note = note("Aussi pour obtenir des contours")
#@gimp : Exemples / Examples = choice(0,"Non / None","A","B","C","D ***","E","F","G")
#@gimp : Note = note("Black & White foreground:")
#@gimp : Radius = float(0.5,0,2)
#@gimp : Densite A = float(4,0,10)
#@gimp : Edges = float(0,0,10)
#@gimp : Coherence = float(8,0,40)
#@gimp : Threshold (%) = float(40,0,100)
#@gimp : Minimal area = int(0,-256,256)
#@gimp : _R_e_p_e_t_i_t_i_o_n = int(25,0,50)
#@gimp : Sep = separator()
#@gimp : Anti-aliasing = choice(1,"Disabled","x1.5","x2","x3")
#@gimp : Sep = separator(), note = note("Authors: Lyle Kroll and David Tschumperlé. Latest update: samj 2015/03/20.")
engrave_modifie :
Examples=$1
Radius=$2
Densite_A=$3
Edges=$4
Coherence=$5
Threshold=$6
Minimal_Area=$7
Repetition=$8
Anti_Aliasing=$9
-if {$Examples==1}
Radius={0.475+{$Radius/20}}
Densite_A={3.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={55-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==2}
Radius={0.275+{$Radius/20}}
Densite_A={2.3+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={55-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==3}
Radius={0.475+{$Radius/20}}
Densite_A={3.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={7-{$Coherence/20}}
Threshold={48+{$Threshold/20}}
Minimal_Area=-100
Repetition={20-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==4}
Radius={0.175+{$Radius/20}}
Densite_A={12-{$Densite_A/2}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={30-{$Repetition/10}}
Anti_Aliasing=3
-elif {$Examples==5}
Radius={1.975+{$Radius/20}}
Densite_A={1.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={2-{$Coherence/20}}
Threshold={18+{$Threshold/20}}
Minimal_Area=-100
Repetition={55-{$Repetition/10}}
Anti_Aliasing=2
-elif {$Examples==6}
Radius={0.975+{$Radius/20}}
Densite_A={2.3+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={28+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={55-{$Repetition/10}}
Anti_Aliasing=1
-elif {$Examples==7}
Radius={0.475+{$Radius/20}}
Densite_A={3.8+{$Densite_A/20}}
Edges={$Edges/20}
Coherence={10-{$Coherence/20}}
Threshold={38+{$Threshold/20}}
Minimal_Area={$Minimal_Area/20}
Repetition={-5+{$Repetition/10}}
Anti_Aliasing=1
-endif
f={arg(1+$Anti_Aliasing,1,1.5,2,3)}
r={$f*$Radius}
nm=@{-gimp_layer_name}
pos=@{-gimp_layer_pos}
-l[0]
-split_opacity
-l[0]
wh={w},{h}
-norm
-if $Anti_Aliasing
-r {100*$f}%,{100*$f}%,1,1,3
-endif
-l[0]
-repeat $Repetition
-b $r
-unsharp $r,{$Densite_A}
-c 0,255
-done
-smooth 100,0.1,1,{$f*$Edges},{$f*$Coherence}
->= {100-$Threshold}%
-endl
-if {$Minimal_Area<0}
-area_fg 0,0
-gt {$f*$Minimal_Area*$Minimal_Area}
-elif {$Minimal_Area>0}
-== 0
-area_fg 0,0
-gt {$f*$Minimal_Area*$Minimal_Area}
-== 0
-endif
-* 255
-if $Anti_Aliasing
-r $wh,1,1,2
-endif
-endl
-a c
-endl
#################################################
## ##
## FIN Engrave_modifie ##
## ##
#################################################
################################################################
## ##
## XY_hardsketchbw_samj ##
## ##
################################################################
# Pour créer des effets sur les parties horizontales et verticales
# version 1.00 2013 01 12
# version 1.01 modification -expand
# version 1.02 ajout couleur transparence
# 17 janvier 2014 modifications blend , gimp_unsharp_octave et ajout trait coloré XY_hardsketch Color / Hard sketch XY : -XY_hardsketchbw_samj 0.2,187.234,50,1,0.1,8.51064,0,0,0,1,180,40,160,255,1,0
# 2014/04/24 blend
# 2015/03/10 menu , Je_passe_l_hiver_en_Floride[-1] , ajout anciennes fonctions "euclidean2polar" et "polar2euclidean" de G'MIC 1.5.8.6
#@gimp Hard sketch XY : XY_hardsketchbw_samj, XY_hardsketchbw_samj(0)
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre Hard Sketch BW")
#@gimp : XY = float(0.2,0,1)
#@gimp : Densit\303\251 / Amplitude = float(300,0,4000)
#@gimp : Density = float(50,0,100)
#@gimp : Douceur / Smoothness = float(1,0,10)
#@gimp : Opacit\303\251 / Opacity = float(0.1,0,1)
#@gimp : Bordure / Edge = float(20,0,100)
#@gimp : Approximation Rapide / Fast approximation = bool(0)
#@gimp : Color model = choice("Black on white","White on black","Black on transparent white","White on transparent black","Color on white")
#@gimp : sep = separator(), note = note("Calques / Layers")
#@gimp : Nb. = choice(0,"1 : XY","2 : XY + Hard Sketch BW Normal")
#@gimp : sep = separator(), note = note("Nettet\303\251 / Sharpen")
#@gimp : Filtre Octave Sharpening = bool(0)
#@gimp : sep = separator(), note = note("XY_hardsketch Color")
#@gimp : Couleur / Color = color(180,40,160,255)
#@gimp : Remplir / Fill = bool(0)
#@gimp : sep = separator(), note = note("samj Derni\303\250re mise \303\240 jour : 2015/03/10.")
XY_hardsketchbw_samj :
XY=$1
Amplitude=$2
Density=$3
Smoothness=$4
Opacity=$5
Edge=$6
Fast_approximation=$7
Negative=$8
Calques=$9
Octave_Sharpening=$10
R_Transparence=$11
V_Transparence=$12
B_Transparence=$13
A_Transparence=$14
Remplir=$15
Largeur={w}
Hauteur={h}
-to_rgba[-1]
--Je_passe_l_hiver_en_Floride[-1]
-if {$Calques==1} --Je_passe_l_hiver_en_Floride[-1] -endif
-if {$Largeur>$Hauteur}
Grande_dimension={$Largeur*1.5}
-else
Grande_dimension={$Hauteur*1.5}
-endif
Origine_X={round({{{$Grande_dimension}-$Largeur}/2})}
Origine_Y={round({{{$Grande_dimension}-$Hauteur}/2})}
-expand_x[-1] $Origine_X,2
-expand_y[-1] $Origine_Y,2
-twirl_ancien_euclidean2polar_ancien_polar2euclidean[-1] $XY,0.5,0.5,1
-gimp_hardsketchbw[-1] $Amplitude,$Density,$Smoothness,$Opacity,$Edge,$Fast_approximation,$Negative
-twirl_ancien_euclidean2polar_ancien_polar2euclidean[-1] -$XY,0.5,0.5,1
-expand_x[-2] $Origine_X,2
-expand_y[-2] $Origine_Y,2
-twirl_ancien_euclidean2polar_ancien_polar2euclidean[-2] -$XY,0.5,0.5,1
-gimp_hardsketchbw[-2] $Amplitude,$Density,$Smoothness,$Opacity,$Edge,$Fast_approximation,$Negative
-twirl_ancien_euclidean2polar_ancien_polar2euclidean[-2] $XY,0.5,0.5,1
#average
-blend[-1,-2] average,1,0
-crop[-1] $Origine_X,$Origine_Y,{$Largeur+$Origine_X-1},{$Hauteur+$Origine_Y-1}
-if {$Octave_Sharpening==1}
-gimp_unsharp_octave 4,5,3,0,0,0,24,0
-endif
-if {$Calques==1}
-gimp_hardsketchbw[-2] $Amplitude,$Density,$Smoothness,$Opacity,$Edge,$Fast_approximation,$Negative
-reverse[-1,-2]
-endif
-if {$Remplir==1}
$Largeur,$Hauteur,1,4
-fill_color[-1] $R_Transparence,$V_Transparence,$B_Transparence,$A_Transparence
-if {$Calques==1}
-reverse[-1,-2]
-endif
-blend[-1,-2] screen,1,1
-if {$Calques==1}
-reverse[-1,-2]
-endif
-endif
################################################################
## ##
## FIN XY_hardsketchbw_samj ##
## ##
################################################################
#################################################################################################################################################################################################
#
# COLORS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_colors :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Colors
################################################################
## ##
## Couleurs_Metalliques ##
## ##
################################################################
# 2014/04/24 blend
# 2015/03/03 ajout Rendu_local_orientation_channels
# 2015/03/31 modification canaux paramètre Rendu_local_orientation_channels suite aux modifications du filtre
#********** Couleurs_Metalliques **********
##
## Version 1.05 samj 29 septembre 2012
##
##
#@gimp Couleurs Metalliques : Couleurs_Metalliques, Couleurs_Metalliques_preview
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Transparence / transparency = choice(0,"Conserver / Preserve","Supprimer / Remove")
#@gimp : Rendu / Rendering = choice("YCbCr [luminance]","Lab [lightness]","HSV [value]","HSL [lightness]","Linear RGB [all]","RGB [all]","RGB [all]")
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre Noise - Noise parameters")
#@gimp : Amplitude = float(22,0,200)
#@gimp : Type de bruit / Noise type = choice("Gaussian","Uniform","Salt and pepper","Poisson")
#@gimp : \303\211tendue / Value range = choice("Cut","Normalize")
#@gimp : sep = separator(), note = note("Param\303\250tres Filtre Local normalization - Local normalization parameters")
#@gimp : Double effet = bool(0)
#@gimp : Amplitude = float(0,0,60)
#@gimp : Rayon / Radius = int(6,1,64)
#@gimp : Lissage voisinage / Neighborhood smoothness = float(5,0,40)
#@gimp : Lissage moyenne / Average smoothness = float(20,0,40)
#@gimp : Imposer valeurs / Constrain values = bool(1)
#@gimp : Canaux / Channel(s) = choice(0,"All","RGBA [all]","RGB [all]","RGB [red]","RGB [green]","RGB [blue]","RGBA [alpha]","Linear RGB [all]","Linear RGB [red]","Linear RGB [green]","Linear RGB [blue]","YCbCr [luminance]","YCbCr [blue-red chrominances]","YCbCr [blue chrominance]","YCbCr [red chrominance]","YCbCr [green chrominance]","Lab [lightness]","Lab [ab-chrominances]","Lab [a-chrominance]","Lab [b-chrominance]","Lch [ch-chrominances]","Lch [c-chrominance]","Lch [h-chrominance]","HSV [hue]","HSV [saturation]","HSV [value]","HSI [intensity]","HSL [lightness]","CMYK [cyan]","CMYK [magenta]","CMYK [yellow]","CMYK [key]")#@gimp : sep = separator(), note = note("Param\303\250tres Filtre Boost-Fade - Boost-Fade parameters : Si-If Amplitude Sup. 0")
#@gimp : Amplitude = float(0,0,10)
#@gimp : sep = separator(), note = note("PhotoComix Options")
#@gimp : Utiliser / Use PC Options = bool(0)
#@gimp : Filtre Pencilbw Taille / Size = float(0.3,0,5)
#@gimp : Filtre Pencilbw Amplitude = float(60,0,200)
#@gimp : Opacit\303\251 M\303\251lange / Blend Opacity = float(1,0,1)
#@gimp : M\303\251lange Permuter Calques / Blend Revert layers = bool(1)
#@gimp : sep = separator()
#@gimp : sep = separator(), Type Aper\303\247u = choice("Tout","Rendu en bas","Rendu a droite","Rendu en haut","Rendu a gauche")
#@gimp : sep = separator(), note = note("samj Derni\303\250re mise \303\240 jour : 2015/03/31.")
Couleurs_Metalliques :
####### Déclaration des variables
Transparence=$1
Rendu=$2
#gimp_noise
Amplitude=$3
Noise_type=$4
Noise_Channel=7
Value_range=$5
#gimp_normalize_local
Double_effet=$6
Local_normalization_Amplitude=$7
Radius=$8
Neighborhood_smoothness=$9
Average_smoothness=$10
Constrain_values=$11
Local_normalization_Channel=$12
#gimp_boost_fade
boost_fade_Amplitude=$13
Utiliser_Photocomix_Options=$14
Pencilbw_Size=$15
Pencilbw_Amplitude=$16
Blend_soft_light_Opacity=$17
Blend_soft_light_Revert_layers=$18
####### Ligne de commandes
-repeat @# -l[$>]
-if {$Rendu==0}
Rendu_local_orientation_channels=11 # YCbCr [luminance]
-elif {$Rendu==1}
Rendu_local_orientation_channels=16 # Lab [lightness]
-elif {$Rendu==2}
Rendu_local_orientation_channels=25 # HSV [value]
-elif {$Rendu==3}
Rendu_local_orientation_channels=27 # HSL [lightness]
-elif {$Rendu==4}
Rendu_local_orientation_channels=7 # Linear RGB [all]
-elif {$Rendu==5}
Rendu_local_orientation_channels=2 # RGB [all]
-elif {$Rendu==6}
Rendu_local_orientation_channels=2 # RGB [all]
-endif
-if {$Transparence==1}
-remove_opacity[-1]
-endif
-if {$Utiliser_Photocomix_Options==1}
--pencilbw[-1] $Pencilbw_Size,$Pencilbw_Amplitude
-if {$Double_effet==1}
-gimp_normalize_local[-2] $Local_normalization_Amplitude,$Radius,$Neighborhood_smoothness,$Average_smoothness,$Constrain_values,$Local_normalization_Channel
-endif
-gimp_noise[-2] $Amplitude,$Noise_type,$Noise_Channel,$Value_range
-gimp_local_orientation[-2] 0,0,100,0,$Rendu_local_orientation_channels
-gimp_normalize_local[-2] $Local_normalization_Amplitude,$Radius,$Neighborhood_smoothness,$Average_smoothness,$Constrain_values,$Local_normalization_Channel
-if {$boost_fade_Amplitude>0}
-gimp_boost_fade[-2] $boost_fade_Amplitude
-endif
-blend[-2,-1] softlight,$Blend_soft_light_Opacity,$Blend_soft_light_Revert_layers
-else
-if {$Double_effet==1}
-gimp_normalize_local[-1] $Local_normalization_Amplitude,$Radius,$Neighborhood_smoothness,$Average_smoothness,$Constrain_values,$Local_normalization_Channel
-endif
-gimp_noise[-1] $Amplitude,$Noise_type,$Noise_Channel,$Value_range
-gimp_local_orientation[-1] 0,0,100,0,$Rendu_local_orientation_channels
-gimp_normalize_local[-1] $Local_normalization_Amplitude,$Radius,$Neighborhood_smoothness,$Average_smoothness,$Constrain_values,$Local_normalization_Channel
-if {$boost_fade_Amplitude>0}
-gimp_boost_fade[-1] $boost_fade_Amplitude
-endif
-endif
-endl -done
Couleurs_Metalliques_preview :
-gimp_split_preview "-Couleurs_Metalliques ${1--2}",$-1
################################################################
## ##
## FIN Couleurs_Metalliques ##
## ##
################################################################
#################################################################################################################################################################################################
#
# CONTOURS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_contours :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Contours
#################################################
## ##
## samj_Contours_Arrondis ##
## ##
#################################################
#@gimp samj_Contours_Arrondis : samj_Contours_Arrondis, samj_Contours_Arrondis(1)
#@gimp : note = note("samj_Contours_Arrondis")
#@gimp : note = note("Lissage")
#@gimp : It\303\251rations = int(1,1,25)
#@gimp : Quantize = int(3,2,25)
#@gimp : Blur = int(5,5,50)
#@gimp : note = note("Traits")
#@gimp : Isophotes = int(10,2,50)
#@gimp : RGBA = bool(0)
#@gimp : Dilate Circ = int(0,0,10)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/06.")
samj_Contours_Arrondis :
Iterations=$1
Val_Quantize=$2
Val_Blur=$3
Val_Isophotes=$4
RGBA=$5
Val_Dilate_Circ=$6
-to_rgb[-1]
-repeat $Iterations
-quantize[-1] $Val_Quantize
-blur[-1] {$Val_Blur/10}
-n[-1] 0,255
-done
-isophotes[-1] $Val_Isophotes
-if {$RGBA==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Val_Dilate_Circ>1} -dilate_circ[-1] $Val_Dilate_Circ -endif
#################################################
## ##
## FIN samj_Contours_Arrondis ##
## ##
#################################################
#################################################################################################################################################################################################
#
# DEFORMATIONS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_deformations :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Deformations
#################################################
## ##
## samj_Cercle_Polaire ##
## ##
#################################################
# 2015/05/11 origine
#@gimp samj_Cercle_Polaire : samj_Cercle_Polaire, samj_Cercle_Polaire(1)
#@gimp : note = note("samj_Cercle_Polaire")
#@gimp : sep = separator(), note = note("Rendu")
#@gimp : Repetitions = int(1,1,4)
#@gimp : Rotation = float(0,0,360)
#@gimp : Type Raccord = choice(0,"Sans","A","B","A+B","C")
#@gimp : sep = separator(), note = note("Array [mirrored]")
#@gimp : Iterations = int(1,1,4)
#@gimp : X-offset (%) = float(0,0,100)
#@gimp : Y-offset (%) = float(0,0,100)
#@gimp : Array mode = choice(2,"x-axis","y-axis","xy-axes","2xy-axes")
#@gimp : Initialization = choice(0,"Original","Mirror X","Mirror Y","Rotate 90 deg.","Rotate 180 deg.","Rotate 270 deg.")
#@gimp : Expand size = bool(0)
#@gimp : Crop (%) = int(0,0,100)
#@gimp : note = note("Polar To Euclidean")
#@gimp : X-center (%) = float(50,0,100)
#@gimp : Y-center (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/05/11.")
samj_Cercle_Polaire:
Repetitions=$1
Angle_Rotation=$2
Type_Raccord=$3
Iterations_AM=$4
X_offset_AM=$5
Y_offse_AM=$6
Array_mode_AM=$7
Initialization_AM=$8
Expand_size_AM=$9
Crop_AM=$10
X_center_PTE=$11
Y_center_PTE=$12
Expension=0
Securite=4000
-to_rgba[-1]
-repeat $Repetitions
-if {{$Type_Raccord==1}||{$Type_Raccord==3}}
-if {{w}>{h}}
Expension={round({{{w}-{h}}/2})}
-expand_y[-1] $Expension,1
-elif {{w}<{h}}
Expension={round({{{h}-{w}}/2})}
-expand_x[-1] $Expension,1
-endif
-endif
-repeat $Iterations_AM
#### securité système ####
-if {{{w}>$Securite}||{{h}>$Securite}}
-if {{w}>{h}}
-resize[-1] $Securite,{$Securite/{w}*{h}}
-else
-resize[-1] {$Securite/{h}*{w}},$Securite
-endif
-endif
-gimp_array_mirror[-1] 1,$X_offset_AM,$Y_offse_AM,$Array_mode_AM,$Initialization_AM,$Expand_size_AM,$Crop_AM
-done
#### securité système ####
-if {{{w}>$Securite}||{{h}>$Securite}}
-if {{w}>{h}}
-resize[-1] $Securite,{$Securite/{w}*{h}}
-else
-resize[-1] {$Securite/{h}*{w}},$Securite
-endif
-endif
-polar2euclidean[-1] $X_center_PTE%,$Y_center_PTE%,1,1
-if {{$Type_Raccord==2}||{$Type_Raccord==3}}
-if {{w}>{h}}
Expension={round({{{w}-{h}}/2})}
-expand_y[-1] $Expension,1
-elif {{w}<{h}}
Expension={round({{{h}-{w}}/2})}
-expand_x[-1] $Expension,1
-endif
-endif
-if {$Angle_Rotation>0}
-if {{$Type_Raccord==2}||{$Type_Raccord==3}||{$Type_Raccord==4}}
-rotate[-1] $Angle_Rotation,0,1
-endif
-if {{$Type_Raccord==0}||{$Type_Raccord==1}}
-rotate[-1] $Angle_Rotation,0,0
-endif
-endif
-autocrop[-1] 0
#### securité système ####
-if {{{w}>$Securite}||{{h}>$Securite}}
-if {{w}>{h}}
-resize[-1] $Securite,{$Securite/{w}*{h}}
-else
-resize[-1] {$Securite/{h}*{w}},$Securite
-endif
-endif
-done
#################################################
## ##
## FIN samj_Cercle_Polaire ##
## ##
#################################################
#################################################################################################################################################################################################
#
# DEGRADATIONS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_degradations :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Degradations
################################################################
## ##
## samj_Zones_Grises ##
## ##
################################################################
# Pour créer des zones détériorées sur l'image
# 2015/04/04 origine
#@gimp samj_Zones_Grises : samj_Zones_Grises, samj_Zones_Grises(1)
#@gimp : note = note("samj_Zones_Grises / Deteriorated Areas")
#@gimp : note = note("Contours")
#@gimp : It\303\251rations = int(3,1,10)
#@gimp : Type = choice(0,"A","B","C")
#@gimp : Variations = float(3,1,10)
#@gimp : note = note("Blend")
#@gimp : It\303\251rations = int(4,1,8)
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj Derni\303\250re mise \303\240 jour : 2015/04/04.")
samj_Zones_Grises :
Iterations_Contours=$1
Choice_Contours=$2
Variations_Contours=$3
Iterations_Blend=$4
Opacite_Blend=$5
-to_rgb[-1]
-repeat $Iterations_Blend
--Je_passe_l_hiver_en_Floride[-1]
-done
-repeat $Iterations_Contours
-if {$Choice_Contours==0}
-gimp_curvature[-1] $Variations_Contours,0,100,0,0,0
-elif {$Choice_Contours==1}
-dog[-1] {5000/$Variations_Contours},0
-elif {$Choice_Contours==2}
-gimp_edges[-1] 0,{2*$Variations_Contours},0,0
-endif
-done
-equalize[-1]
-gimp_decompose_channels[-1] 4,0,1,0
-remove[-1,-2]
-to_rgb[-1]
-repeat $Iterations_Blend
-gimp_blend_edges[-1,-2] $Opacite_Blend,5,0
-done
################################################################
## ##
## FIN samj_Zones_Grises ##
## ##
################################################################
#################################################################################################################################################################################################
#
# DETAILS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_details :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Details
#################################################################################################################################################################################################
#
# FRAMES
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_frames :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Frames
#################################################################################################################################################################################################
#
# LAYERS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_layers :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Layers
#################################################################################################################################################################################################
#
# LIGHTS AND SHADOWS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_lights_and_shadows :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Lights & shadows
#################################################################################################################################################################################################
#
# PATTERNS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_patterns :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Patterns
#################################################
## ##
## Points_Aleatoires_001 ##
## ##
#################################################
## 2015/03/15 menu, itérations , pas de preview
## version 3 2014/01/30 ajout Continuité et déplacement Fou , Tour , Reine. Correction avec variable Choix
## version 2 2014/01/30 ajout déplacement Cavalier
## version 1 2014/01/30 origine
#@gimp Points_Aleatoires_001 : samj_Points_Aleatoires_001, gimp_no_preview
#@gimp : sep = separator()
#@gimp : Sep = separator(), note = note("Points")
#@gimp : It\303\251rations = int(10,1,200)
#@gimp : Couleur Point = color(255,255,0,255)
#@gimp : Mode = choice(3,"XY Aleatoire","X Aleatoire","Y Aleatoire","Cavalier","Fou","Tour","Reine")
#@gimp : Couleurs Al\303\251atoires = bool(0)
#@gimp : Continuit\303\251 entre it\303\251rations = bool(1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/15.")
samj_Points_Aleatoires_001 :
Iterations=$1
R_Point=$2
V_Point=$3
B_Point=$4
A_Point=$5
Mode=$6
Couleurs_Aleatoires=$7
Continuite=$8
Choix=0
Cavalier=0
Largeur_Origine={w}
Hauteur_Origine={h}
Position_X={round(?(0,{$Largeur_Origine-1}))}
Position_Y={round(?(0,{$Hauteur_Origine-1}))}
{w},{h},1,4
-fill_color[-1] 0,0,0,0
-rm[-2]
-repeat $Iterations
-if {$Couleurs_Aleatoires==1}
R_Point={round(?(0,255))}
V_Point={round(?(0,255))}
B_Point={round(?(0,255))}
A_Point=255
-endif
-if {$Continuite==0}
Position_X={round(?(0,{$Largeur_Origine-1}))}
Position_Y={round(?(0,{$Hauteur_Origine-1}))}
-endif
-repeat {$Largeur_Origine+$Hauteur_Origine}
Choix={round(?(0,1))}
-if {$Mode==0} # roi
Inc_X={{round(?(0,2))}-1}
Inc_Y={{round(?(0,2))}-1}
-elif {$Mode==1}
Inc_X={{round(?(0,2))}-1}
Inc_Y={{round(?(0,{@|}))%3}-1}
-elif {$Mode==2}
Inc_X={{round(?(0,{@|}))%3}-1}
Inc_Y={{round(?(0,2))}-1}
-elif {$Mode==3} # Cavalier
-if {$Choix==0}
Cavalier={round(?(0,7))}
-else
Cavalier={round(?(0,4095)%8)}
-endif
-if {$Cavalier==0}
Inc_X=-1
Inc_Y=2
-elif {$Cavalier==1}
Inc_X=1
Inc_Y=2
-elif {$Cavalier==2}
Inc_X=2
Inc_Y=1
-elif {$Cavalier==3}
Inc_X=2
Inc_Y=-1
-elif {$Cavalier==4}
Inc_X=1
Inc_Y=-2
-elif {$Cavalier==5}
Inc_X=-1
Inc_Y=-2
-elif {$Cavalier==6}
Inc_X=-2
Inc_Y=-1
-elif {$Cavalier==7}
Inc_X=-2
Inc_Y=1
-endif
-elif {$Mode==4} # Fou
Inc_X={{round(?(0,8))}-{round(?(0,8))}}
-if {$Choix==0}
Inc_Y=$Inc_X
-else
Inc_Y={0-$Inc_X}
-endif
-elif {$Mode==5} # Tour
-if {$Choix==0}
Inc_X={{round(?(0,8))}-{round(?(0,8))}}
Inc_Y=0
-else
Inc_X=0
Inc_Y={{round(?(0,8))}-{round(?(0,8))}}
-endif
-elif {$Mode==6} # Reine
Choix={round(?(0,3))}
-if {$Choix==0}
Inc_X={{round(?(0,8))}-{round(?(0,8))}}
Inc_Y=$Inc_X
-elif {$Choix==1}
Inc_X={{round(?(0,8))}-{round(?(0,8))}}
Inc_Y=0
-elif {$Choix==2}
Inc_X=0
Inc_Y={{round(?(0,8))}-{round(?(0,8))}}
-elif {$Choix==3}
Inc_X={{round(?(0,8))}-{round(?(0,8))}}
Inc_Y={0-$Inc_X}
-endif
-endif
Position_X={$Position_X+$Inc_X}
-if {$Position_X<0}
Position_X={$Largeur_Origine-1}
-endif
-if {$Position_X>{$Largeur_Origine-1}}
Position_X=0
-endif
Position_Y={$Position_Y+$Inc_Y}
-if {$Position_Y<0}
Position_Y={$Hauteur_Origine-1}
-endif
-if {$Position_Y>{$Hauteur_Origine-1}}
Position_Y=0
-endif
-point[-1] $Position_X,$Position_Y,0,1,$R_Point,$V_Point,$B_Point,$A_Point
-done
-done
#################################################
## ##
## FIN Points_Aleatoires_001 ##
## ##
#################################################
################################################################
## ##
## Denim_samj ##
## ##
################################################################
# version 1.00 2013 01 17
# 17 janvier 2014 modification blend
# 2014/04/24 blend
# 2015/03/15 simplification , menu
# 2015/03/31 canaux de gimp_noise :
#@gimp Denim Texture : Denim_samj, Denim_samj(0)
#@gimp : sep = separator(), note = note("Texture")
#@gimp : Dimension motif base = int(5,2,30)
#@gimp : Dilatation motif = int(2,0,5)
#@gimp : Retourner motif = bool(0)
#@gimp : D\303\251formation 1 = int(40,0,200)
#@gimp : D\303\251formation 2 = int(40,0,200)
#@gimp : Denim [bruit] = int(25,0,100)
#@gimp : Usure [bruit] = int(50,0,100)
#@gimp : Nettet\303\251 = float(0,0,500)
#@gimp : sep = separator(), note = note("Couleur")
#@gimp : Couleur Denim = color(43,108,126,255)
#@gimp : sep = separator(), note = note("samj - Version : 2015/03/31.")
Denim_samj :
Dimension_Motif=$1 # 5
Dilatation=$2
Retourner_motif=$3
Deformation_1=$4
Deformation_2=$5
Amplitude_Bruit=$6 # 30
Amplitude_Bruit_2=$7
Nettete=$8
# couleur 2B6C7E 43,108,126
R_Couleur_Denim=$9
V_Couleur_Denim=$10
B_Couleur_Denim=$11
A_Couleur_Denim=$12
Largeur={w}
Hauteur={h}
$Largeur,$Hauteur,1,4
-fill_color[-1] $R_Couleur_Denim,$V_Couleur_Denim,$B_Couleur_Denim,$A_Couleur_Denim
-to_rgba[-1]
-gimp_noise[-1] $Amplitude_Bruit,0,11,0 # laisser la transparence "YCbCr [luminance]"
$Dimension_Motif,$Dimension_Motif,1,4
-if {$Retourner_motif==0}
-line[-1] 0,$Dimension_Motif,$Dimension_Motif,0,1,0,0,0,255
-else
-line[-1] 0,0,$Dimension_Motif,$Dimension_Motif,1,0,0,0,255
-endif
-resize[-1] [-2],[-2],1,100%,0,2
-dilate_circ[-1] $Dilatation
#alpha
-blend[-1,-2] alpha,1,1
-water[-1] {$Deformation_1/1000},{$Deformation_2/100}
-gimp_noise[-1] $Amplitude_Bruit_2,0,26,0 # bruit transparence "HSI [intensity]"
-sharpen[-1] $Nettete
-reverse[-2,-1] # inverser les calques
-rm[-1]
################################################################
## ##
## FIN Denim_samj ##
## ##
################################################################
#################################################
## ##
## Courtepointe ##
## ##
#################################################
## catégorie "Patterns" pour réaliser des motifs de courtepointe ou tapis
#
# 2015/03/07 pas de preview , ajout courbes interactives , fonction samj_gimp_texture_zero_zero_un remplacée par samj_Texture_Granuleuse
# 2014/04/28 preview
# 2014/01/06 origine
#@gimp Random Pattern Courtepointe : samj_Courtepointe, gimp_no_preview
#@gimp : note = note("Motif au rendu al\303\251atoire / Random Pattern")
#@gimp : sep = separator()
#@gimp : Cossin 1 / Parameter 1 = int(20,1,100)
#@gimp : Cossin 2 / Parameter 2 = bool(0)
#@gimp : R\303\251petition / Repeat = int(1,1,5)
#@gimp : Croix / Cross = bool(0)
#@gimp : Texture = bool(1)
#@gimp : Courbes des couleurs / Color Curves = choice("RGB","CMY","CMYK","HSI","HSL","HSV","Lab","Lch","YCbCr")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/07.")
samj_Courtepointe :
Cossin=$1
Cossin_Deux=$2
Repetition=$3
Croix=$4
Texture=$5
Courbes_Interactives_Couleurs=$6
-rorschach[-1] {$Cossin}%,1
-if {$Cossin_Deux==1}
-n[-1] 64,192
-endif
-n[-1] 0,255
-repeat $Repetition
-gimp_array_mirror[-1] 1,0,0,2,0,0
-done
-if {$Croix==1}
-gimp_symmetrizoscope[-1] 5,0,1,0
-endif
-if {$Texture==1}
-samj_Texture_Granuleuse[-1] 0.5,20,80,0,0
-endif
-if {$Courbes_Interactives_Couleurs==0} #rgb
-x_color_curves[-1] rgb
-elif {$Courbes_Interactives_Couleurs==1} #cmy
-x_color_curves[-1] cmy
-elif {$Courbes_Interactives_Couleurs==2} #cmyk
-x_color_curves[-1] cmyk
-elif {$Courbes_Interactives_Couleurs==3} #hsi
-x_color_curves[-1] hsi
-elif {$Courbes_Interactives_Couleurs==4} #hsl
-x_color_curves[-1] hsl
-elif {$Courbes_Interactives_Couleurs==5} #hsv
-x_color_curves[-1] hsv
-elif {$Courbes_Interactives_Couleurs==6} #lab
-x_color_curves[-1] lab
-elif {$Courbes_Interactives_Couleurs==7} #lch
-x_color_curves[-1] lch
-elif {$Courbes_Interactives_Couleurs==8} #ycbcr
-x_color_curves[-1] ycbcr
-endif
#################################################
## ##
## FIN Courtepointe ##
## ##
#################################################
#################################################
## ##
## Degrades_XYZ_CIE ##
## ##
#################################################
# 2015/03/09 menu, Motifs Degrades CIE remplace Degrades_XYZ_CIE
# 2014/04/28 limites Lab -128 127
#@gimp Motifs Degrades CIE : samj_Degrades_XYZ_CIE, samj_Degrades_XYZ_CIE(0)
#@gimp : sep = separator(), note = note("D\303\251grad\303\251 Rendu CIE Lab")
#@gimp : Type D\303\251grad\303\251 = choice(6,"V Couleur A","H Couleur A","V Couleur B","H Couleur B","V Couleurs A/B Inv.","H Couleurs A/B Inv.","V Couleurs A/B","H Couleurs A/B")
#@gimp : Dimensions Image = int(800,128,2048)
#@gimp : Couleur A = color(240,240,40,255)
#@gimp : Couleur B = color(120,40,240,255)
#@gimp : D\303\251calage L = float(0,0,100)
#@gimp : D\303\251calage a = float(0,-128,127)
#@gimp : D\303\251calage b = float(0,-128,127)
#@gimp : Variation L = float(100,0,100)
#@gimp : Variation a = float(64,0,255)
#@gimp : Variation b = float(64,0,255)
#@gimp : Valider Variations Canal Alpha = bool(0)
#@gimp : Trou Noir = choice(0,"Non","Mode A","Mode B")
#@gimp : D\303\251grad\303\251s al\303\251atoires = bool(1)
#@gimp : L Min. Ded. Al\303\251a. = float(0,0,100)
#@gimp : L Max. Ded. Al\303\251a. = float(100,0,100)
#@gimp : a Min. Ded. Al\303\251a. = float(-128,-128,127)
#@gimp : a Max. Ded. Al\303\251a. = float(128,-128,127)
#@gimp : b Min. Ded. Al\303\251a. = float(-128,-128,127)
#@gimp : b Max. Ded. Al\303\251a. = float(128,-128,127)
#@gimp : Inverser D\303\251grad\303\251 = bool(0)
#@gimp : Formes = choice(11,"Non","Sinus V - Param A B","Sinus H - Param A B","Cercles - Param A B","Rayons - Param A B","Lignes V Norm - Param A B","Lignes H Norm - Param A B","Plaid","Carre","Croix","Perspective - Param A","Sphere A","Sphere B")
#@gimp : Param\303\250tre Forme A = int(0,0,100)
#@gimp : Param\303\250tre Forme B = int(0,0,100)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/09.")
samj_Degrades_XYZ_CIE :
Type_Degrade=$1
Dimensions=$2
Ra=$3
Ga=$4
Ba=$5
Aa=$6
Rb=$7
Gb=$8
Bb=$9
Ab=$10
Decalage_L=$11
Decalage_a=$12
Decalage_b=$13
Variation_L=$14
Variation_a=$15
Variation_b=$16
Valider_Variations_Canal_A=$17
Trou_Noir=$18
Degrades_aleatoires=$19
L_Min_Ded_Alea=$20
L_Max_Ded_Alea=$21
a_Min_Ded_Alea=$22
a_Max_Ded_Alea=$23
b_Min_Ded_Alea=$24
b_Max_Ded_Alea=$25
Inverser_Degrade=$26
Variations_Formes=$27
Parametre_Forme_A=$28
Parametre_Forme_B=$29
Nb_Boucles=0
Inc_L=0
Inc_a=0
Inc_b=0
Inc_Alpha=0
# Conversions RGB > XYZ http://www.newtone.fr/formules_conversion_colorimetrie.php
# Matrices http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
# couleur a Linear RGB
nt_Ra={$Ra/255}
nt_Ga={$Ga/255}
nt_Ba={$Ba/255}
-if {$nt_Ra>0.04045}
nt_Ra={{{$nt_Ra+0.055}/1.055}^2.4}
-else
nt_Ra={$nt_Ra/12.92}
-endif
-if {$nt_Ga>0.04045}
nt_Ga={{{$nt_Ga+0.055}/1.055}^2.4}
-else
nt_Ga={$nt_Ga/12.92}
-endif
-if {$nt_Ba>0.04045}
nt_Ba={{{$nt_Ba+0.055}/1.055}^2.4}
-else
nt_Ba={$nt_Ba/12.92}
-endif
nt_Ra={$nt_Ra*100}
nt_Ga={$nt_Ga*100}
nt_Ba={$nt_Ba*100}
#Observateur. = 2°, Illuminant = D65 sRGB
Xa={$nt_Ra*0.4124564+$nt_Ga*0.3575761+$nt_Ba*0.1804375}
Ya={$nt_Ra*0.2126729+$nt_Ga*0.7151522+$nt_Ba*0.0721750}
Za={$nt_Ra*0.0193339+$nt_Ga*0.1191920+$nt_Ba*0.9503041}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
Xca=$Xa
Yca=$Ya
Zca=$Za
ref_Xa=95.047
ref_Ya=100.000
ref_Za=108.883
nt_Xa={$Xca/$ref_Xa}
nt_Ya={$Yca/$ref_Ya}
nt_Za={$Zca/$ref_Za}
-if {$nt_Xa>0.008856}
nt_Xa={$nt_Xa^{1/3}}
-else
nt_Xa={{7.787*$nt_Xa}+{16/116}}
-endif
-if {$nt_Ya>0.008856}
nt_Ya={$nt_Ya^{1/3}}
-else
nt_Ya={{7.787*$nt_Ya}+{16/116}}
-endif
-if {$nt_Za>0.008856}
nt_Za={$nt_Za^{1/3}}
-else
nt_Za={{7.787*$nt_Za}+{16/116}}
-endif
CIE_La={{116*$nt_Ya}-16}
CIE_aa={500*{$nt_Xa-$nt_Ya}}
CIE_ba={200*{$nt_Ya-$nt_Za}}
# couleur b Linear RGB
nt_Ra={$Rb/255}
nt_Ga={$Gb/255}
nt_Ba={$Bb/255}
-if {$nt_Ra>0.04045}
nt_Ra={{{$nt_Ra+0.055}/1.055}^2.4}
-else
nt_Ra={$nt_Ra/12.92}
-endif
-if {$nt_Ga>0.04045}
nt_Ga={{{$nt_Ga+0.055}/1.055}^2.4}
-else
nt_Ga={$nt_Ga/12.92}
-endif
-if {$nt_Ba>0.04045}
nt_Ba={{{$nt_Ba+0.055}/1.055}^2.4}
-else
nt_Ba={$nt_Ba/12.92}
-endif
nt_Ra={$nt_Ra*100}
nt_Ga={$nt_Ga*100}
nt_Ba={$nt_Ba*100}
#Observateur. = 2°, Illuminant = D65 sRGB
Xb={$nt_Ra*0.4124564+$nt_Ga*0.3575761+$nt_Ba*0.1804375}
Yb={$nt_Ra*0.2126729+$nt_Ga*0.7151522+$nt_Ba*0.0721750}
Zb={$nt_Ra*0.0193339+$nt_Ga*0.1191920+$nt_Ba*0.9503041}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
Xca=$Xb
Yca=$Yb
Zca=$Zb
ref_Xa=95.047
ref_Ya=100.000
ref_Za=108.883
nt_Xa={$Xca/$ref_Xa}
nt_Ya={$Yca/$ref_Ya}
nt_Za={$Zca/$ref_Za}
-if {$nt_Xa>0.008856}
nt_Xa={$nt_Xa^{1/3}}
-else
nt_Xa={{7.787*$nt_Xa}+{16/116}}
-endif
-if {$nt_Ya>0.008856}
nt_Ya={$nt_Ya^{1/3}}
-else
nt_Ya={{7.787*$nt_Ya}+{16/116}}
-endif
-if {$nt_Za>0.008856}
nt_Za={$nt_Za^{1/3}}
-else
nt_Za={{7.787*$nt_Za}+{16/116}}
-endif
CIE_Lb={{116*$nt_Ya}-16}
CIE_ab={500*{$nt_Xa-$nt_Ya}}
CIE_bb={200*{$nt_Ya-$nt_Za}}
######
-if {$Variations_Formes==1}
-if {$Type_Degrade==1}
Type_Degrade=0
-elif {$Type_Degrade==3}
Type_Degrade=2
-elif {$Type_Degrade==5}
Type_Degrade=4
-elif {$Type_Degrade==7}
Type_Degrade=6
-endif
-elif {$Variations_Formes==2}
-if {$Type_Degrade==0}
Type_Degrade=1
-elif {$Type_Degrade==2}
Type_Degrade=3
-elif {$Type_Degrade==4}
Type_Degrade=5
-elif {$Type_Degrade==6}
Type_Degrade=7
-endif
-elif {$Variations_Formes==3}
-if {$Type_Degrade==1}
Type_Degrade=0
-elif {$Type_Degrade==3}
Type_Degrade=2
-elif {$Type_Degrade==5}
Type_Degrade=4
-elif {$Type_Degrade==7}
Type_Degrade=6
-endif
Valider_Variations_Canal_A=0
-elif {$Variations_Formes==4}
-if {$Type_Degrade==0}
Type_Degrade=1
-elif {$Type_Degrade==2}
Type_Degrade=3
-elif {$Type_Degrade==4}
Type_Degrade=5
-elif {$Type_Degrade==6}
Type_Degrade=7
-endif
Valider_Variations_Canal_A=0
-elif {$Variations_Formes==5}
-if {$Type_Degrade==1}
Type_Degrade=0
-elif {$Type_Degrade==3}
Type_Degrade=2
-elif {$Type_Degrade==5}
Type_Degrade=4
-elif {$Type_Degrade==7}
Type_Degrade=6
-endif
-elif {$Variations_Formes==6}
-if {$Type_Degrade==0}
Type_Degrade=1
-elif {$Type_Degrade==2}
Type_Degrade=3
-elif {$Type_Degrade==4}
Type_Degrade=5
-elif {$Type_Degrade==6}
Type_Degrade=7
-endif
-elif {$Variations_Formes==7}
-if {$Type_Degrade==1}
Type_Degrade=0
-elif {$Type_Degrade==3}
Type_Degrade=2
-elif {$Type_Degrade==5}
Type_Degrade=4
-elif {$Type_Degrade==7}
Type_Degrade=6
-endif
-elif {$Variations_Formes==8}
-if {$Type_Degrade==1}
Type_Degrade=0
-elif {$Type_Degrade==3}
Type_Degrade=2
-elif {$Type_Degrade==5}
Type_Degrade=4
-elif {$Type_Degrade==7}
Type_Degrade=6
-endif
-elif {$Variations_Formes==9}
-if {$Type_Degrade==0}
Type_Degrade=1
-elif {$Type_Degrade==2}
Type_Degrade=3
-elif {$Type_Degrade==4}
Type_Degrade=5
-elif {$Type_Degrade==6}
Type_Degrade=7
-endif
-elif {$Variations_Formes==10}
-if {$Type_Degrade==1}
Type_Degrade=0
-elif {$Type_Degrade==3}
Type_Degrade=2
-elif {$Type_Degrade==5}
Type_Degrade=4
-elif {$Type_Degrade==7}
Type_Degrade=6
-endif
-elif {$Variations_Formes==11}
-if {$Type_Degrade==0}
Type_Degrade=1
-elif {$Type_Degrade==2}
Type_Degrade=3
-elif {$Type_Degrade==4}
Type_Degrade=5
-elif {$Type_Degrade==6}
Type_Degrade=7
-endif
-elif {$Variations_Formes==12}
-if {$Type_Degrade==1}
Type_Degrade=0
-elif {$Type_Degrade==3}
Type_Degrade=2
-elif {$Type_Degrade==5}
Type_Degrade=4
-elif {$Type_Degrade==7}
Type_Degrade=6
-endif
-endif
-rm[-1]
######
-if {{$Type_Degrade==0}||{$Type_Degrade==1}||{$Type_Degrade==2}||{$Type_Degrade==3}}
# boucles 1 couleur
-if {{$Type_Degrade==2}||{$Type_Degrade==3}}
CIE_La=$CIE_Lb
CIE_aa=$CIE_ab
CIE_ba=$CIE_bb
Aa=$Ab
-endif
Nb_Boucles=0
Inc_L={$Variation_L/$Dimensions}
Inc_a={$Variation_a/$Dimensions}
Inc_b={$Variation_b/$Dimensions}
$Dimensions,$Dimensions,1,4
-repeat $Dimensions
-if {$Degrades_aleatoires==1}
-if {{{$Nb_Boucles+1}%{round(?(2,{$Dimensions/{2+$Type_Degrade}}))}}==0}
-if {{$L_Max_Ded_Alea}>{$L_Min_Ded_Alea}} CIE_La={round(?($L_Min_Ded_Alea,$L_Max_Ded_Alea))} -else CIE_La={round(?($L_Max_Ded_Alea,$L_Min_Ded_Alea))} -endif
-if {{$a_Max_Ded_Alea}>{$a_Min_Ded_Alea}} CIE_aa={round(?($a_Min_Ded_Alea,$a_Max_Ded_Alea))} -else CIE_aa={round(?($a_Max_Ded_Alea,$a_Min_Ded_Alea))} -endif
-if {{$b_Max_Ded_Alea}>{$b_Min_Ded_Alea}} CIE_ba={round(?($b_Min_Ded_Alea,$b_Max_Ded_Alea))} -else CIE_ba={round(?($b_Max_Ded_Alea,$b_Min_Ded_Alea))} -endif
-endif
-endif
-if {$Inverser_Degrade==0}
CIE_Lca={$CIE_La+$Decalage_L+{$Nb_Boucles*$Inc_L}}
CIE_aca={$CIE_aa+$Decalage_a+{$Nb_Boucles*$Inc_a}}
CIE_bca={$CIE_ba+$Decalage_b+{$Nb_Boucles*$Inc_b}}
-else
CIE_Lca={$CIE_La+$Decalage_L-{$Nb_Boucles*$Inc_L}}
CIE_aca={$CIE_aa+$Decalage_a-{$Nb_Boucles*$Inc_a}}
CIE_bca={$CIE_ba+$Decalage_b-{$Nb_Boucles*$Inc_b}}
-endif
# limites
-if {$Trou_Noir==0}
-if {$CIE_Lca>100} CIE_Lca=100 -endif
-if {$CIE_Lca<0} CIE_Lca=0 -endif
-if {$CIE_aca>127} CIE_aca=127 -endif
-if {$CIE_aca<-128} CIE_aca=-128 -endif
-if {$CIE_bca>127} CIE_bca=127 -endif
-if {$CIE_bca<-128} CIE_bca=-128 -endif
-elif {$Trou_Noir==1}
-if {$CIE_Lca>100} Inc_L={-1*$Inc_L} CIE_Lca=100 -endif
-if {$CIE_Lca<0} Inc_L={-1*$Inc_L} CIE_Lca=0 -endif
-if {$CIE_aca>127} Inc_a={-1*$Inc_a} CIE_aca=0 -endif
-if {$CIE_aca<-128} Inc_a={-1*$Inc_a} CIE_aca=0 -endif
-if {$CIE_bca>127} Inc_b={-1*$Inc_b} CIE_bca=0 -endif
-if {$CIE_bca<-128} Inc_b={-1*$Inc_b} CIE_bca=0 -endif
-elif {$Trou_Noir==2}
-if {$CIE_Lca>100} CIE_Lca={$CIE_Lca-100} -endif
-if {$CIE_Lca<0} CIE_Lca={$CIE_Lca+100} -endif
-if {$CIE_aca>127} CIE_aca={$CIE_aca-255} -endif
-if {$CIE_aca<-128} CIE_aca={$CIE_aca+255} -endif
-if {$CIE_bca>127} CIE_bca={$CIE_bca-255} -endif
-if {$CIE_bca<-128} CIE_bca={$CIE_bca+255} -endif
-endif
# Conversions Lab > XYZ http://www.newtone.fr/formules_conversion_colorimetrie.php
nt_Yca={{$CIE_Lca+16}/116}
nt_Xca={$CIE_aca/500+$nt_Yca}
nt_Zca={$nt_Yca-$CIE_bca/200}
-if {{$nt_Yca^3}>0.008856}
nt_Yca={$nt_Yca^3}
-else
nt_Yca={{$nt_Yca-16/116}/7.787}
-endif
-if {{$nt_Xca^3}>0.008856}
nt_Xca={$nt_Xca^3}
-else
nt_Xca={{$nt_Xca-16/116}/7.787}
-endif
-if {{$nt_Zca^3}>0.008856}
nt_Zca={$nt_Zca^3}
-else
nt_Zca={{$nt_Zca-16/116}/7.787}
-endif
ref_Xca=95.047
ref_Yca=100.000
ref_Zca=108.883
Xca={$ref_Xca*$nt_Xca}
Yca={$ref_Yca*$nt_Yca}
Zca={$ref_Zca*$nt_Zca}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
# Matrices http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
vcXa=$Xca
vcYa=$Yca
vcZa=$Zca
nt_X={$vcXa/100} # X compris entre 0 et 95.047 ( Observateur = 2°, Illuminant = D65 )
nt_Y={$vcYa/100} # Y compris entre 0 et 100.000
nt_Z={$vcZa/100} # Z compris entre 0 et 108.883
nt_R={$nt_X*3.2404542+$nt_Y*-1.5371385+$nt_Z*-0.4985314}
nt_G={$nt_X*-0.9692660+$nt_Y*1.8760108+$nt_Z*0.0415560}
nt_B={$nt_X*0.0556434+$nt_Y*-0.2040259+$nt_Z*1.0572252}
-if {$nt_R>0.0031308}
nt_R={1.055*{$nt_R^{1/2.4}}-0.055}
-else
nt_R={12.92*$nt_R}
-endif
-if {$nt_G>0.0031308}
nt_G={1.055*{$nt_G^{1/2.4}}-0.055}
-else
nt_G={12.92*$nt_G}
-endif
-if {$nt_B>0.0031308}
nt_B={1.055*{$nt_B^{1/2.4}}-0.055}
-else
nt_B={12.92*$nt_B}
-endif
Rconv={$nt_R*255}
Gconv={$nt_G*255}
Bconv={$nt_B*255}
-if {$Rconv>255} Rconv=255 -endif
-if {$Rconv<0} Rconv=0 -endif
-if {$Gconv>255} Gconv=255 -endif
-if {$Gconv<0} Gconv=0 -endif
-if {$Bconv>255} Bconv=255 -endif
-if {$Bconv<0} Bconv=0 -endif
-if {{$Type_Degrade==0}||{$Type_Degrade==2}}
-line[-1] $Nb_Boucles,0,$Nb_Boucles,{$Dimensions-1},1,$Rconv,$Gconv,$Bconv,$Aa
-elif {{$Type_Degrade==1}||{$Type_Degrade==3}}
-line[-1] 0,$Nb_Boucles,{$Dimensions-1},$Nb_Boucles,1,$Rconv,$Gconv,$Bconv,$Aa
-endif
Nb_Boucles={$Nb_Boucles+1}
-done
-endif
######
-if {{$Type_Degrade==4}||{$Type_Degrade==5}||{$Type_Degrade==6}||{$Type_Degrade==7}}
# boucles 2 couleurs
Nb_Boucles=0
Inc_L={{$CIE_La-$CIE_Lb}/$Dimensions}
Inc_a={{$CIE_aa-$CIE_ab}/$Dimensions}
Inc_b={{$CIE_ba-$CIE_bb}/$Dimensions}
Inc_Alpha={{$Ab-$Aa}/$Dimensions}
$Dimensions,$Dimensions,1,4
-repeat $Dimensions
-if {$Degrades_aleatoires==1}
-if {{{$Nb_Boucles+1}%{round(?(2,{$Dimensions/{2+$Type_Degrade}}))}}==0}
-if {{$L_Max_Ded_Alea}>{$L_Min_Ded_Alea}} CIE_La={round(?($L_Min_Ded_Alea,$L_Max_Ded_Alea))} -else CIE_La={round(?($L_Max_Ded_Alea,$L_Min_Ded_Alea))} -endif
-if {{$a_Max_Ded_Alea}>{$a_Min_Ded_Alea}} CIE_aa={round(?($a_Min_Ded_Alea,$a_Max_Ded_Alea))} -else CIE_aa={round(?($a_Max_Ded_Alea,$a_Min_Ded_Alea))} -endif
-if {{$b_Max_Ded_Alea}>{$b_Min_Ded_Alea}} CIE_ba={round(?($b_Min_Ded_Alea,$b_Max_Ded_Alea))} -else CIE_ba={round(?($b_Max_Ded_Alea,$b_Min_Ded_Alea))} -endif
-endif
-endif
-if {$Inverser_Degrade==0}
CIE_Lca={$CIE_La+$Decalage_L+{$Nb_Boucles*$Inc_L}}
CIE_aca={$CIE_aa+$Decalage_a+{$Nb_Boucles*$Inc_a}}
CIE_bca={$CIE_ba+$Decalage_b+{$Nb_Boucles*$Inc_b}}
-endif
-if {$Inverser_Degrade==1||{$Type_Degrade==6}||{$Type_Degrade==7}}
CIE_Lca={$CIE_La+$Decalage_L-{$Nb_Boucles*$Inc_L}}
CIE_aca={$CIE_aa+$Decalage_a-{$Nb_Boucles*$Inc_a}}
CIE_bca={$CIE_ba+$Decalage_b-{$Nb_Boucles*$Inc_b}}
-endif
-if {$Valider_Variations_Canal_A==1}
Aa={$Aa+$Inc_Alpha}
-if {$Aa>255} Aa=255 -endif
-if {$Aa<0} Aa=0 -endif
-endif
# limites
-if {$Trou_Noir==0}
-if {$CIE_Lca>100} CIE_Lca=100 -endif
-if {$CIE_Lca<0} CIE_Lca=0 -endif
-if {$CIE_aca>127} CIE_aca=127 -endif
-if {$CIE_aca<-128} CIE_aca=-128 -endif
-if {$CIE_bca>127} CIE_bca=127 -endif
-if {$CIE_bca<-128} CIE_bca=-128 -endif
-elif {$Trou_Noir==1}
-if {$CIE_Lca>100} Inc_L={-1*$Inc_L} CIE_Lca=$CIE_Lb -endif
-if {$CIE_Lca<0} Inc_L={-1*$Inc_L} CIE_Lca=$CIE_La -endif
-if {$CIE_aca>127} Inc_a={-1*$Inc_a} CIE_aca=0 -endif
-if {$CIE_aca<-128} Inc_a={-1*$Inc_a} CIE_aca=0 -endif
-if {$CIE_bca>127} Inc_b={-1*$Inc_b} CIE_bca=0 -endif
-if {$CIE_bca<-128} Inc_b={-1*$Inc_b} CIE_bca=0 -endif
-elif {$Trou_Noir==2}
-if {$CIE_Lca>100} CIE_Lca={$CIE_Lca-100} -endif
-if {$CIE_Lca<0} CIE_Lca={$CIE_Lca+100} -endif
-if {$CIE_aca>127} CIE_aca={$CIE_aca-255} -endif
-if {$CIE_aca<-128} CIE_aca={$CIE_aca+255} -endif
-if {$CIE_bca>127} CIE_bca={$CIE_bca-255} -endif
-if {$CIE_bca<-128} CIE_bca={$CIE_bca+255} -endif
-endif
# Conversions Lab > XYZ http://www.newtone.fr/formules_conversion_colorimetrie.php
nt_Yca={{$CIE_Lca+16}/116}
nt_Xca={$CIE_aca/500+$nt_Yca}
nt_Zca={$nt_Yca-$CIE_bca/200}
-if {{$nt_Yca^3}>0.008856}
nt_Yca={$nt_Yca^3}
-else
nt_Yca={{$nt_Yca-16/116}/7.787}
-endif
-if {{$nt_Xca^3}>0.008856}
nt_Xca={$nt_Xca^3}
-else
nt_Xca={{$nt_Xca-16/116}/7.787}
-endif
-if {{$nt_Zca^3}>0.008856}
nt_Zca={$nt_Zca^3}
-else
nt_Zca={{$nt_Zca-16/116}/7.787}
-endif
ref_Xca=95.047
ref_Yca=100.000
ref_Zca=108.883
Xca={$ref_Xca*$nt_Xca}
Yca={$ref_Yca*$nt_Yca}
Zca={$ref_Zca*$nt_Zca}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
# Matrices http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
vcXa=$Xca
vcYa=$Yca
vcZa=$Zca
nt_X={$vcXa/100} # X compris entre 0 et 95.047 ( Observateur = 2°, Illuminant = D65 )
nt_Y={$vcYa/100} # Y compris entre 0 et 100.000
nt_Z={$vcZa/100} # Z compris entre 0 et 108.883
nt_R={$nt_X*3.2404542+$nt_Y*-1.5371385+$nt_Z*-0.4985314}
nt_G={$nt_X*-0.9692660+$nt_Y*1.8760108+$nt_Z*0.0415560}
nt_B={$nt_X*0.0556434+$nt_Y*-0.2040259+$nt_Z*1.0572252}
-if {$nt_R>0.0031308}
nt_R={1.055*{$nt_R^{1/2.4}}-0.055}
-else
nt_R={12.92*$nt_R}
-endif
-if {$nt_G>0.0031308}
nt_G={1.055*{$nt_G^{1/2.4}}-0.055}
-else
nt_G={12.92*$nt_G}
-endif
-if {$nt_B>0.0031308}
nt_B={1.055*{$nt_B^{1/2.4}}-0.055}
-else
nt_B={12.92*$nt_B}
-endif
Rconv={$nt_R*255}
Gconv={$nt_G*255}
Bconv={$nt_B*255}
-if {$Rconv>255} Rconv=255 -endif
-if {$Rconv<0} Rconv=0 -endif
-if {$Gconv>255} Gconv=255 -endif
-if {$Gconv<0} Gconv=0 -endif
-if {$Bconv>255} Bconv=255 -endif
-if {$Bconv<0} Bconv=0 -endif
-if {{$Type_Degrade==4}||{$Type_Degrade==6}}
-line[-1] $Nb_Boucles,0,$Nb_Boucles,{$Dimensions-1},1,$Rconv,$Gconv,$Bconv,$Aa
-elif {{$Type_Degrade==5}||{$Type_Degrade==7}}
-line[-1] 0,$Nb_Boucles,{$Dimensions-1},$Nb_Boucles,1,$Rconv,$Gconv,$Bconv,$Aa
-endif
Nb_Boucles={$Nb_Boucles+1}
-done
-endif
#####
-if {$Variations_Formes==1}
-gimp_custom_deformation[-1] "(w+h)/"{20+$Parametre_Forme_A}" * cos(y*"{10+$Parametre_Forme_B}"/h)","1",1,1,1
-elif {$Variations_Formes==2}
-gimp_custom_deformation[-1] "1","(w+h)/"{20+$Parametre_Forme_A}" * sin(x*"{10+$Parametre_Forme_B}"/w)",1,1,1
-elif {$Variations_Formes==3}
-if {$Parametre_Forme_A<50} Parametre_Forme_A={{$Parametre_Forme_A+50}/100} -else Parametre_Forme_A={{$Parametre_Forme_A-50}/100} -endif
-if {$Parametre_Forme_B<50} Parametre_Forme_B={{$Parametre_Forme_B+50}/100} -else Parametre_Forme_B={{$Parametre_Forme_B-50}/100} -endif
-gimp_euclidean2polar[-1] $Parametre_Forme_A,$Parametre_Forme_B,1,1,1
-elif {$Variations_Formes==4}
-if {$Parametre_Forme_A<50} Parametre_Forme_A={{$Parametre_Forme_A+50}/100} -else Parametre_Forme_A={{$Parametre_Forme_A-50}/100} -endif
-if {$Parametre_Forme_B<50} Parametre_Forme_B={{$Parametre_Forme_B+50}/100} -else Parametre_Forme_B={{$Parametre_Forme_B-50}/100} -endif
-gimp_euclidean2polar[-1] $Parametre_Forme_A,$Parametre_Forme_B,1,1,1
-elif {$Variations_Formes==5}
-gimp_normalize_local[-1] {$Parametre_Forme_A+6},6,5,20,1,{{$Parametre_Forme_B+3}%23}
-elif {$Variations_Formes==6}
-gimp_normalize_local[-1] {$Parametre_Forme_A+6},6,5,20,1,{{$Parametre_Forme_B+3}%23}
-elif {$Variations_Formes==7}
-gimp_plaid_texture[-1] 50,2,0,90,0,300
-elif {$Variations_Formes==8}
-gimp_symmetrizoscope[-1] 5,0,1,0
-elif {$Variations_Formes==9}
-gimp_symmetrizoscope[-1] 5,0,1,0
-elif {$Variations_Formes==10}
-gimp_warp_perspective[-1] 1.73,0,1,50,50,$Parametre_Forme_A,0,2
-elif {$Variations_Formes==11}
-gimp_map_sphere[-1] {min($Dimensions,$Dimensions)},{min($Dimensions,$Dimensions)},90,0.5,0,0,20,0,0,0,0.5
-elif {$Variations_Formes==12}
-gimp_map_sphere[-1] {min($Dimensions,$Dimensions)},{min($Dimensions,$Dimensions)},90,0.5,0,0,20,0,0,0,0.5
-endif
#################################################
## ##
## FIN Degrades_XYZ_CIE ##
## ##
#################################################
#################################################################################################################################################################################################
#
# RENDERING
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_rendering :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Rendering
#################################################
## ##
## Adjacent_Annular_Steiner_Chains ##
## ##
#################################################
# 20150502 origine
#@gimp Adjacent Annular Steiner Chains : samj_Adjacent_Annular_Steiner_Chains, samj_Adjacent_Annular_Steiner_Chains(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Angle Inclinaison / Tilt = float(0,0,360)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("Cercles")
#@gimp : Rayon Cercle Centre / Radius Center Circle A = float(6,-100,100)
#@gimp : Nb Cercles Ext\303\251rieurs / Circles Surrounding = int(56,7,360)
#@gimp : sep = separator(), note = note("Anneaux")
#@gimp : Nb Anneaux = int(20,1,100)
#@gimp : Angle Decalage % = float(50,-100,100)
#@gimp : Variation Increment Anneaux % = float(0,-100,200)
#@gimp : sep = separator(), note = note("Couleurs Cercles")
#@gimp : Couleur / Color A = color(255,0,221,127)
#@gimp : Couleur / Color B = color(72,0,255,127)
#@gimp : Couleur / Color C = color(0,145,255,127)
#@gimp : Couleur / Color D = color(0,255,144,127)
#@gimp : Couleur / Color E = color(72,255,0,127)
#@gimp : Couleur / Color F = color(255,217,0,127)
#@gimp : Couleur / Color G = color(255,0,0,127)
#@gimp : Choix Des Couleurs / Choice Of Colors = choice(5,"Couleurs / Colors AB","Couleurs / Colors ABC","Couleurs / Colors ABCD","Couleurs / Colors ABCDE","Couleurs / Colors ABCDEF","Couleurs / Colors ABCDEFG","Ordre ABCDEFG")
#@gimp : Variations Des Couleurs = float(0,-2,2)
#@gimp : Couleurs al\303\251atoires / Random colors = choice(0,"Non / No","A","B","C")
#@gimp : sep = separator(), note = note("Contours")
#@gimp : Affichage / Display Contours = choice(2,"Non / No","A","B","C","D","E")
#@gimp : Contours = color(0,0,0,255)
#@gimp : Dilate Contours = int(0,0,16)
#@gimp : Flou / Blur Contours = float(0,0,5)
#@gimp : Sharpen = int(0,0,600)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/05/02.")
samj_Adjacent_Annular_Steiner_Chains :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Angle_inclinaison=$3
Canal_Alpha=$4
-if {$5>0}
Rayon_Cercle_Centre={round({{w}*$5/{100}})}
-else
Rayon_Cercle_Centre={round({-{h}*$5/{100}})}
-endif
Nb_Circles_Surrounding=$6
Nb_Anneaux=$7
Angle_Decalage=$8
Variation_Increment_Anneaux=$9
R_a=$10
V_a=$11
B_a=$12
A_a=$13
R_b=$14
V_b=$15
B_b=$16
A_b=$17
R_c=$18
V_c=$19
B_c=$20
A_c=$21
R_d=$22
V_d=$23
B_d=$24
A_d=$25
R_e=$26
V_e=$27
B_e=$28
A_e=$29
R_f=$30
V_f=$31
B_f=$32
A_f=$33
R_g=$34
V_g=$35
B_g=$36
A_g=$37
#Choix_Des_Couleurs
Rendu=$38
Variations_Des_Couleurs=$39
Couleurs_aleatoires=$40
Affichage_Contours=$41
R_Contours=$42
V_Contours=$43
B_Contours=$44
A_Contours=$45
Dilate_Contours=$46
Flou_Contours=$47
Sharpen_Contours=$48
Largeur_Origine={w}
Hauteur_Origine={h}
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
# 1 nouvelle image contours
$Largeur_Origine,$Hauteur_Origine,1,4
-fill_color[-1] 0,0,0,0
# 1 nouvelle image couleurs
$Largeur_Origine,$Hauteur_Origine,1,4
-fill_color[-1] 0,0,0,0
Angle_Theta={pi/$Nb_Circles_Surrounding}
-if {$Rayon_Cercle_Centre<1}
Rayon_Cercle_Centre=1
-endif
Rayon_Cercle_Exterieur={$Rayon_Cercle_Centre*{{1+{sin($Angle_Theta)}}}/{1-{sin($Angle_Theta)}}}
Rayon_Cercles_Ext={{$Rayon_Cercle_Exterieur-$Rayon_Cercle_Centre}/2}
Rayon_Centres_C_Ext={$Rayon_Cercle_Centre+$Rayon_Cercles_Ext}
Rayon_Tang={{{$Rayon_Centres_C_Ext*$Rayon_Centres_C_Ext}-{$Rayon_Cercles_Ext*$Rayon_Cercles_Ext}}^0.5}
Nb_boucles=0
X_ext=0
Y_ext=0
Angle=0
Angle_Decalage_En_Cours=0
Nb_boucles_anneaux=0
Rayon_Cercle_Centre_En_Cours=0
Ra_en_cours=0
Va_en_cours=0
Ba_en_cours=0
Aa_en_cours=0
Suite_Couleurs=0
-if {$Couleurs_aleatoires==1}
R_CE={round(?(0,255))}
V_CE={round(?(0,255))}
B_CE={round(?(0,255))}
R_PC={round(?(0,255))}
V_PC={round(?(0,255))}
B_PC={round(?(0,255))}
-endif
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
R_e={round(?(0,255))}
V_e={round(?(0,255))}
B_e={round(?(0,255))}
R_f={round(?(0,255))}
V_f={round(?(0,255))}
B_f={round(?(0,255))}
R_g={round(?(0,255))}
V_g={round(?(0,255))}
B_g={round(?(0,255))}
-endif
-repeat $Nb_Anneaux
Nb_boucles=0
Suite_Couleurs=0
-if {$Couleurs_aleatoires==2}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
R_e={round(?(0,255))}
V_e={round(?(0,255))}
B_e={round(?(0,255))}
R_f={round(?(0,255))}
V_f={round(?(0,255))}
B_f={round(?(0,255))}
R_g={round(?(0,255))}
V_g={round(?(0,255))}
B_g={round(?(0,255))}
-endif
Angle_Decalage_En_Cours={360/$Nb_Circles_Surrounding*$Angle_Decalage/100*$Nb_boucles_anneaux} # si curseur Angle_Decalage = 50
-if {$Nb_boucles_anneaux==0}
Rayon_Cercle_Centre_En_Cours={$Rayon_Cercle_Centre}
-else
Rayon_Cercle_Centre_En_Cours={$Rayon_Tang+{$Rayon_Cercles_Ext*{0.865+$Variation_Increment_Anneaux/100}}}
-endif
Rayon_Cercle_Exterieur=$Rayon_Cercle_Centre_En_Cours*{{1+{sin($Angle_Theta)}}}/{1-{sin($Angle_Theta)}}
Rayon_Cercles_Ext={{$Rayon_Cercle_Exterieur-$Rayon_Cercle_Centre_En_Cours}/2}
Rayon_Centres_C_Ext={$Rayon_Cercle_Centre_En_Cours+$Rayon_Cercles_Ext}
Rayon_Tang={{{$Rayon_Centres_C_Ext*$Rayon_Centres_C_Ext}-{$Rayon_Cercles_Ext*$Rayon_Cercles_Ext}}^0.5}
-repeat $Nb_Circles_Surrounding
-if {$Couleurs_aleatoires==3}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
R_e={round(?(0,255))}
V_e={round(?(0,255))}
B_e={round(?(0,255))}
R_f={round(?(0,255))}
V_f={round(?(0,255))}
B_f={round(?(0,255))}
R_g={round(?(0,255))}
V_g={round(?(0,255))}
B_g={round(?(0,255))}
-endif
-if {$Rendu==6} # suite
-if {{{($Nb_boucles%7)}==0}&&{$Suite_Couleurs==0}}
Ra_en_cours=$R_a
Va_en_cours=$V_a
Ba_en_cours=$B_a
Aa_en_cours=$A_a
Suite_Couleurs=1
-endif
-if {{{($Nb_boucles%7)}==1}&&{$Suite_Couleurs==1}}
Ra_en_cours=$R_b
Va_en_cours=$V_b
Ba_en_cours=$B_b
Aa_en_cours=$A_b
Suite_Couleurs=2
-endif
-if {{{($Nb_boucles%7)}==2}&&{$Suite_Couleurs==2}}
Ra_en_cours=$R_c
Va_en_cours=$V_c
Ba_en_cours=$B_c
Aa_en_cours=$A_c
Suite_Couleurs=3
-endif
-if {{{($Nb_boucles%7)}==3}&&{$Suite_Couleurs==3}}
Ra_en_cours=$R_d
Va_en_cours=$V_d
Ba_en_cours=$B_d
Aa_en_cours=$A_d
Suite_Couleurs=4
-endif
-if {{{($Nb_boucles%7)}==4}&&{$Suite_Couleurs==4}}
Ra_en_cours=$R_e
Va_en_cours=$V_e
Ba_en_cours=$B_e
Aa_en_cours=$A_e
Suite_Couleurs=5
-endif
-if {{{($Nb_boucles%7)}==5}&&{$Suite_Couleurs==5}}
Ra_en_cours=$R_f
Va_en_cours=$V_f
Ba_en_cours=$B_f
Aa_en_cours=$A_f
Suite_Couleurs=6
-endif
-if {{{($Nb_boucles%7)}==6}&&{$Suite_Couleurs==6}}
Ra_en_cours=$R_g
Va_en_cours=$V_g
Ba_en_cours=$B_g
Aa_en_cours=$A_g
Suite_Couleurs=0
-endif
-endif
-if {$Rendu<6}
-if {{($Nb_boucles%2)}==0}
Ra_en_cours=$R_a
Va_en_cours=$V_a
Ba_en_cours=$B_a
Aa_en_cours=$A_a
-endif
-if {{($Nb_boucles%2)}==1}
Ra_en_cours=$R_b
Va_en_cours=$V_b
Ba_en_cours=$B_b
Aa_en_cours=$A_b
-endif
-if {{{($Nb_boucles%3)}==2}&&{$Rendu>0}}
Ra_en_cours=$R_c
Va_en_cours=$V_c
Ba_en_cours=$B_c
Aa_en_cours=$A_c
-endif
-if {{{($Nb_boucles%4)}==3}&&{$Rendu>1}}
Ra_en_cours=$R_d
Va_en_cours=$V_d
Ba_en_cours=$B_d
Aa_en_cours=$A_d
-endif
-if {{{($Nb_boucles%5)}==4}&&{$Rendu>2}}
Ra_en_cours=$R_e
Va_en_cours=$V_e
Ba_en_cours=$B_e
Aa_en_cours=$A_e
-endif
-if {{{($Nb_boucles%6)}==5}&&{$Rendu>3}}
Ra_en_cours=$R_f
Va_en_cours=$V_f
Ba_en_cours=$B_f
Aa_en_cours=$A_f
-endif
-if {{{($Nb_boucles%7)}==6}&&{$Rendu>4}}
Ra_en_cours=$R_g
Va_en_cours=$V_g
Ba_en_cours=$B_g
Aa_en_cours=$A_g
-endif
-endif
Angle={$Nb_boucles*{360/$Nb_Circles_Surrounding}}
X_ext={$X+{$Rayon_Centres_C_Ext*{cos({pi/180*{$Angle+$Angle_inclinaison+$Angle_Decalage_En_Cours}})}}}
Y_ext={$Y+{$Rayon_Centres_C_Ext*{sin({pi/180*{$Angle+$Angle_inclinaison+$Angle_Decalage_En_Cours}})}}}
Nb_boucles={$Nb_boucles+1}
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext,$Rayon_Cercles_Ext,0,1,$Ra_en_cours,$Va_en_cours,$Ba_en_cours,$Aa_en_cours
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}}
-ellipse[-2] $X_ext,$Y_ext,$Rayon_Cercles_Ext,$Rayon_Cercles_Ext,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {{{$Affichage_Contours==4}||{$Affichage_Contours==5}}&&{{($Nb_boucles%2)}==1}}
-ellipse[-2] $X_ext,$Y_ext,$Rayon_Cercles_Ext,$Rayon_Cercles_Ext,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-done
Nb_boucles_anneaux={$Nb_boucles_anneaux+1}
-done
-if {{$Affichage_Contours==1}||{$Affichage_Contours==3}||{$Affichage_Contours==5}}
-ellipse[-2] $X,$Y,{$Rayon_Centres_C_Ext+$Rayon_Cercles_Ext},{$Rayon_Centres_C_Ext+$Rayon_Cercles_Ext},0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Dilate_Contours>1} -dilate_circ[-2] $Dilate_Contours -endif
-if {$Flou_Contours>0} -blur[-2] $Flou_Contours,0 -endif
-if {$Sharpen_Contours>0} -sharpen[-2] $Sharpen_Contours -endif
-if {$Variations_Des_Couleurs<0} -*[-1] {abs($Variations_Des_Couleurs)} -c[-1] 0,255 -endif
-blend[-2,-1] alpha,1,1
-if {$Variations_Des_Couleurs>0} -*[-1] $Variations_Des_Couleurs -c[-1] 0,255 -endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Adjacent_Annular_Steiner_Chains ##
## ##
#################################################
#################################################
## ##
## Triangles_Shades_Adjacents ##
## ##
#################################################
# 2015/04/28 origine - À voir : modifier et améliorer les dégradés rgb / Angle_Artefacts (Artefacts diminuent avec dimensions > )
#@gimp Triangles_Shades_Adjacents : Triangles_Shades_Adjacents, Triangles_Shades_Adjacents(1)
#@gimp : note = note("Image Finale / Resulting Image")
#@gimp : Supprimer Calque Origine / Delete Layer Source = bool(0)
#@gimp : Position Centre X / X Center = float(50,0,100)
#@gimp : Position Centre Y / Y Center = float(50,0,100)
#@gimp : Nb Triangles = int(60,3,360)
#@gimp : Artefacts / Artifacts = int(-1,-1,10)
#@gimp : note = note("Couleurs / Colors")
#@gimp : D\303\251calage Des Couleurs / Offset (Angle) = float(0,-360,360)
#@gimp : - - - Centre / Center - - - = color(255,255,255)
#@gimp : Couleur / Color A = color(255,0,221)
#@gimp : Couleur / Color B = color(72,0,255)
#@gimp : Couleur / Color C = color(0,145,255)
#@gimp : Couleur / Color D = color(0,255,144)
#@gimp : Couleur / Color E = color(72,255,0)
#@gimp : Couleur / Color F = color(255,217,0)
#@gimp : Couleur / Color G = color(255,0,0)
#@gimp : Choix Des Couleurs / Choice Of Colors = choice(5,"Couleurs / Colors AB","Couleurs / Colors ABC","Couleurs / Colors ABCD","Couleurs / Colors ABCDE","Couleurs / Colors ABCDEF","Couleurs / Colors ABCDEFG")
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : note = note("Color Balance")
#@gimp : Activer / Enable Color Balance = bool(0)
#@gimp : Neutral color = color(128,128,128)
#@gimp : Stretch colors = bool(1)
#@gimp : note = note("M\303\251lange / Blend")
#@gimp : Activer M\303\251lange / Enable Blend = bool(0)
#@gimp : Mode = choice{3,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacity = float(1,0,1)
#@gimp : Revert layers = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/28.")
Triangles_Shades_Adjacents:
Supprimer_Calque_Origine=$1
Position_Centre_X=$2
Position_Centre_Y=$3
Nombre_De_Triangles=$4
Artefacts=$5
Angle_Decalage_Couleurs=$6
R_Centre=$7
V_Centre=$8
B_Centre=$9
R_a=$10
V_a=$11
B_a=$12
R_b=$13
V_b=$14
B_b=$15
R_c=$16
V_c=$17
B_c=$18
R_d=$19
V_d=$20
B_d=$21
R_e=$22
V_e=$23
B_e=$24
R_f=$25
V_f=$26
B_f=$27
R_g=$28
V_g=$29
B_g=$30
#Choix_Des_Couleurs
Rendu=$31
Couleurs_aleatoires=$32
Activer_Color_Balance=$33
R_Neutral_color=$34
V_Neutral_color=$35
B_Neutral_color=$36
Stretch_colors=$37
Activer_Melange=$38
Mode=$39
Opacity=$40
Revert_layers=$41
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Ra_en_cours=0
Va_en_cours=0
Ba_en_cours=0
Rb_en_cours=0
Vb_en_cours=0
Bb_en_cours=0
Rc_en_cours=0
Vc_en_cours=0
Bc_en_cours=0
Rayon_De_Couleur={round({{{{$Largeur_Origine^2}+{$Hauteur_Origine^2}}^0.5}+1})}
Angle_Rayon_De_Couleur={360/$Nombre_De_Triangles}
Angle_Artefacts=0
Angle_Rayon_De_Couleur_Ref=0
Angle_Rayon_De_Couleur_En_Cours=0
Angle_Rayon_De_Couleur_En_Cours_Fin=0
-if {$Nombre_De_Triangles==3} Rayon_De_Couleur={$Rayon_De_Couleur*3} -endif
-if {{$Nombre_De_Triangles-{$Rendu+2}}<0} Rendu={$Nombre_De_Triangles-2} -endif
-if {$Artefacts==-1} Angle_Artefacts={0.5-{0.1/$Nombre_De_Triangles}} -else Angle_Artefacts=$Artefacts -endif
-to_rgba[0]
# 1 nouvelle images couleurs
$Largeur_Origine,$Hauteur_Origine,1,3
-fill_color[-1] 0,0,0,255
-repeat $Nombre_De_Triangles
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
R_e={round(?(0,255))}
V_e={round(?(0,255))}
B_e={round(?(0,255))}
R_f={round(?(0,255))}
V_f={round(?(0,255))}
B_f={round(?(0,255))}
R_g={round(?(0,255))}
V_g={round(?(0,255))}
B_g={round(?(0,255))}
-endif
-if {{($Nb_boucles%{$Rendu+2})}==0}
Ra_en_cours=$R_Centre
Va_en_cours=$V_Centre
Ba_en_cours=$B_Centre
Rb_en_cours=$R_a
Vb_en_cours=$V_a
Bb_en_cours=$B_a
Rc_en_cours=$R_b
Vc_en_cours=$V_b
Bc_en_cours=$B_b
-endif
-if {{($Nb_boucles%{$Rendu+2})}==1}
Ra_en_cours=$R_Centre
Va_en_cours=$V_Centre
Ba_en_cours=$B_Centre
Rb_en_cours=$R_b
Vb_en_cours=$V_b
Bb_en_cours=$B_b
-if {$Rendu==0}
Rc_en_cours=$R_a
Vc_en_cours=$V_a
Bc_en_cours=$B_a
-else
Rc_en_cours=$R_c
Vc_en_cours=$V_c
Bc_en_cours=$B_c
-endif
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==2}&&{$Rendu>0}}
Ra_en_cours=$R_Centre
Va_en_cours=$V_Centre
Ba_en_cours=$B_Centre
Rb_en_cours=$R_c
Vb_en_cours=$V_c
Bb_en_cours=$B_c
-if {$Rendu==1}
Rc_en_cours=$R_a
Vc_en_cours=$V_a
Bc_en_cours=$B_a
-else
Rc_en_cours=$R_d
Vc_en_cours=$V_d
Bc_en_cours=$B_d
-endif
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==3}&&{$Rendu>1}}
Ra_en_cours=$R_Centre
Va_en_cours=$V_Centre
Ba_en_cours=$B_Centre
Rb_en_cours=$R_d
Vb_en_cours=$V_d
Bb_en_cours=$B_d
-if {$Rendu==2}
Rc_en_cours=$R_a
Vc_en_cours=$V_a
Bc_en_cours=$B_a
-else
Rc_en_cours=$R_e
Vc_en_cours=$V_e
Bc_en_cours=$B_e
-endif
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==4}&&{$Rendu>2}}
Ra_en_cours=$R_Centre
Va_en_cours=$V_Centre
Ba_en_cours=$B_Centre
Rb_en_cours=$R_e
Vb_en_cours=$V_e
Bb_en_cours=$B_e
-if {$Rendu==3}
Rc_en_cours=$R_a
Vc_en_cours=$V_a
Bc_en_cours=$B_a
-else
Rc_en_cours=$R_f
Vc_en_cours=$V_f
Bc_en_cours=$B_f
-endif
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==5}&&{$Rendu>3}}
Ra_en_cours=$R_Centre
Va_en_cours=$V_Centre
Ba_en_cours=$B_Centre
Rb_en_cours=$R_f
Vb_en_cours=$V_f
Bb_en_cours=$B_f
-if {$Rendu==4}
Rb_en_cours=$R_a
Vb_en_cours=$V_a
Bb_en_cours=$B_a
-else
Rc_en_cours=$R_g
Vc_en_cours=$V_g
Bc_en_cours=$B_g
-endif
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==6}&&{$Rendu>4}}
R_en_cours=$R_g
V_en_cours=$V_g
B_en_cours=$B_g
-endif
Angle_Rayon_De_Couleur_Ref={{$Nb_boucles*$Angle_Rayon_De_Couleur}+$Angle_Decalage_Couleurs+$Angle_Artefacts}
-if {$Nb_boucles==0}
-else
-endif
Angle_Rayon_De_Couleur_En_Cours={$Angle_Rayon_De_Couleur_Ref-$Angle_Artefacts}
Angle_Rayon_De_Couleur_En_Cours_Fin={$Angle_Rayon_De_Couleur_Ref+$Angle_Rayon_De_Couleur+$Angle_Artefacts}
-triangle_shade[-1] {$Position_Centre_X*$Largeur_Origine/100},{$Position_Centre_Y*$Hauteur_Origine/100},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*{$Angle_Rayon_De_Couleur_En_Cours}})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*{$Angle_Rayon_De_Couleur_En_Cours}})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*{$Angle_Rayon_De_Couleur_En_Cours_Fin}})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*{$Angle_Rayon_De_Couleur_En_Cours_Fin}})}}},$Ra_en_cours,$Va_en_cours,$Ba_en_cours,$Rb_en_cours,$Vb_en_cours,$Bb_en_cours,$Rc_en_cours,$Vc_en_cours,$Bc_en_cours
Nb_boucles={$Nb_boucles+1}
-done
-if {$Activer_Color_Balance==1}
-gimp_balance_gamma[-1] $R_Neutral_color,$V_Neutral_color,$B_Neutral_color,$Stretch_colors=$34
-endif
-if {$Supprimer_Calque_Origine==1}
-rm[0]
-else
-if {$Activer_Melange==1}
-if {$Revert_layers==1}
-reverse[-1,-2]
-endif
-gimp_blend[-2,-1] $Mode,0,$Opacity,0
-else
-reverse[-1,-2]
-endif
-endif
#################################################
## ##
## FIN Triangles_Shades_Adjacents ##
## ##
#################################################
#################################################
## ##
## Twisted_Rays ##
## ##
#################################################
# 2015/04/27 origine
#@gimp Twisted_Rays_samj : Twisted_Rays, Twisted_Rays(1)
#@gimp : note = note("Image Finale")
#@gimp : Dimension en pixels = int(800,256,1920)
#@gimp : Supprimer Calque Origine = bool(1)
#@gimp : Twirl = float(0.2,-5,5)
#@gimp : M\303\251langes Rayons = choice(2,"Add","And","Average","Darken","Difference","Edges","Grainextract","Grainmerge","Multiply","Negation","Or","Screen","Softburn","Softdodge","Subtract","Xor","- NON / NO -")
#@gimp : Rendu = choice(5,"Rayons Couleurs AB","Rayons Couleurs ABC","Rayons Couleurs ABCD","Rayons Couleurs ABCDE","Rayons Couleurs ABCDEF","Rayons Couleurs ABCDEFG")
#@gimp : note = note("Rayons De Couleurs")
#@gimp : Nombre de Rayons = int(21,3,360)
#@gimp : Angle D\303\251calage Des Couleurs A = float(0,-360,360)
#@gimp : Angle D\303\251calage Des Couleurs B = float(0,-360,360)
#@gimp : Couleur / Color A = color(0,0,255,255)
#@gimp : Couleur / Color B = color(0,255,255,255)
#@gimp : Couleur / Color C = color(0,255,0,255)
#@gimp : Couleur / Color D = color(255,255,0,255)
#@gimp : Couleur / Color E = color(255,0,0,255)
#@gimp : Couleur / Color F = color(255,0,255,255)
#@gimp : Couleur / Color G = color(255,255,255,255)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : note = note("Contours")
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage / Display Contours = bool(0)
#@gimp : Dilate Contours = int(2,1,16)
#@gimp : Flou / Blur Contours = float(2,0,5)
#@gimp : Sharpen = int(0,200,400)
#@gimp : note = note("Symmetrizoscope")
#@gimp : Activer Symmetrizoscope = bool(0)
#@gimp : Iterations = int(5,1,32)
#@gimp : Angle = float(0,0,360)
#@gimp : Symmetry sides = choice("Backward","Forward","Swap")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/27.")
Twisted_Rays:
Dimension_Finale=$1
Supprimer_Calque_Origine=$2
Amplitude_Twirl=$3
Melanges_Rayons=$4
Rendu=$5
Nb_De_Rayon_De_Couleur=$6
Angle_Decalage_Couleurs_A=$7
Angle_Decalage_Couleurs_B=$8
R_a=$9
V_a=$10
B_a=$11
A_a=$12
R_b=$13
V_b=$14
B_b=$15
A_b=$16
R_c=$17
V_c=$18
B_c=$19
A_c=$20
R_d=$21
V_d=$22
B_d=$23
A_d=$24
R_e=$25
V_e=$26
B_e=$27
A_e=$28
R_f=$29
V_f=$30
B_f=$31
A_f=$32
R_g=$33
V_g=$34
B_g=$35
A_g=$36
Couleurs_aleatoires=$37
R_Contours=$38
V_Contours=$39
B_Contours=$40
A_Contours=$41
Affichage_Contours=$42
Dilate_Contours=$43
Flou_Contours=$44
Sharpen_Contours=$45
Filtre_Symmetrizoscope=$46
Iterations_Symmetrizoscope=$47
Angle_Symmetrizoscope=$48
Symmetry_Sides=$49
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Rayon_Cercle_Final={round({{$Dimension_Finale/2}-1})}
Rayon_De_Couleur={round({1+{$Dimension_Finale*{2^0.5}}})}
Angle_Rayon_De_Couleur={360/$Nb_De_Rayon_De_Couleur}
Angle_Rayon_De_Couleur_En_Cours_A=0
Angle_Rayon_De_Couleur_En_Cours_Fin_A=0
Angle_Rayon_De_Couleur_En_Cours_B=0
Angle_Rayon_De_Couleur_En_Cours_Fin_B=0
R_en_cours=0
V_en_cours=0
B_en_cours=0
A_en_cours=0
-if {$Supprimer_Calque_Origine==1}
-rm[0]
-endif
# 2 nouvelles images contours
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
# 2 nouvelles images Rayons
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
-repeat $Nb_De_Rayon_De_Couleur
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
R_e={round(?(0,255))}
V_e={round(?(0,255))}
B_e={round(?(0,255))}
R_f={round(?(0,255))}
V_f={round(?(0,255))}
B_f={round(?(0,255))}
R_g={round(?(0,255))}
V_g={round(?(0,255))}
B_g={round(?(0,255))}
-endif
-if {{($Nb_boucles%{$Rendu+2})}==0}
R_en_cours=$R_a
V_en_cours=$V_a
B_en_cours=$B_a
A_en_cours=$A_a
-endif
-if {{($Nb_boucles%{$Rendu+2})}==1}
R_en_cours=$R_b
V_en_cours=$V_b
B_en_cours=$B_b
A_en_cours=$A_b
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==2}&&{$Rendu>0}}
R_en_cours=$R_c
V_en_cours=$V_c
B_en_cours=$B_c
A_en_cours=$A_c
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==3}&&{$Rendu>1}}
R_en_cours=$R_d
V_en_cours=$V_d
B_en_cours=$B_d
A_en_cours=$A_d
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==4}&&{$Rendu>2}}
R_en_cours=$R_e
V_en_cours=$V_e
B_en_cours=$B_e
A_en_cours=$A_e
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==5}&&{$Rendu>3}}
R_en_cours=$R_f
V_en_cours=$V_f
B_en_cours=$B_f
A_en_cours=$A_f
-endif
-if {{{($Nb_boucles%{$Rendu+2})}==6}&&{$Rendu>4}}
R_en_cours=$R_g
V_en_cours=$V_g
B_en_cours=$B_g
A_en_cours=$A_g
-endif
Angle_Rayon_De_Couleur_En_Cours_A={{$Nb_boucles*$Angle_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_A}
Angle_Rayon_De_Couleur_En_Cours_Fin_A={{{$Nb_boucles+1}*$Angle_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_A}
Angle_Rayon_De_Couleur_En_Cours_B={{$Nb_boucles*$Angle_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_B}
Angle_Rayon_De_Couleur_En_Cours_Fin_B={{{$Nb_boucles+1}*$Angle_Rayon_De_Couleur}+$Angle_Decalage_Couleurs_B}
-polygon[-1] 3,50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_A})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_A})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin_A})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin_A})}}},1,$R_en_cours,$V_en_cours,$B_en_cours,$A_en_cours
-polygon[-2] 3,50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_B})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_B})}}},{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin_B})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_Fin_B})}}},1,$R_en_cours,$V_en_cours,$B_en_cours,$A_en_cours
-if {$Affichage_Contours==1}
-line[-3] 50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_A})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_A})}}},1,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-line[-4] 50%,50%,{{{w}/2}+{$Rayon_De_Couleur*{cos({pi/180*$Angle_Rayon_De_Couleur_En_Cours_B})}}},{{{h}/2}+{$Rayon_De_Couleur*{sin({pi/180*$Angle_Rayon_De_Couleur_En_Cours_B})}}},1,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
Nb_boucles={$Nb_boucles+1}
-done
-dilate_circ[-3,-4] 2
-twirl[-1,-3] $Amplitude_Twirl,50%,50%,0
-twirl[-2,-4] -$Amplitude_Twirl,50%,50%,0
-blend[-3,-4] alpha,1,0
# contour cercle
-if {$Affichage_Contours==1}
-ellipse[-3] 50%,50%,$Rayon_Cercle_Final,$Rayon_Cercle_Final,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-3] 50%,50%,{$Rayon_Cercle_Final-1},{$Rayon_Cercle_Final-1},0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-3] 50%,50%,{$Rayon_Cercle_Final-2},{$Rayon_Cercle_Final-2},0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Dilate_Contours>1} -dilate_circ[-3] $Dilate_Contours -endif
-if {$Flou_Contours>0} -blur[-3] $Flou_Contours,0 -endif
-if {$Sharpen_Contours>0} -sharpen[-3] $Sharpen_Contours -endif
-if {$Filtre_Symmetrizoscope==1}
-gimp_symmetrizoscope[-1,-2,-3] $Iterations_Symmetrizoscope,$Angle_Symmetrizoscope,0,$Symmetry_Sides
-endif
# creation masque temporaire rond
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 255,255,255,255
-circle[-1] 50%,50%,$Rayon_Cercle_Final,1,0,0,0,0
# mélanges
-blend[-4,-1] alpha,1,0
-replace_color[-3] 100%,0,255,255,255,255,0,0,0,0 # blanc vers transparence
# creation masque temporaire rond
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
-circle[-1] 50%,50%,$Rayon_Cercle_Final,1,0,0,0,255
# mélanges
-reverse[-1,-3]
-blend[-3,-1] add,1,0
# creation masque temporaire rond
$Dimension_Finale,$Dimension_Finale,1,4
-fill_color[-1] 0,0,0,0
-circle[-1] 50%,50%,$Rayon_Cercle_Final,1,0,0,0,255
# mélanges
-reverse[-1,-2]
-blend[-2,-1] add,1,0
-if {$Melanges_Rayons==0}
-blend[-1,-2] add,1,0
-elif {$Melanges_Rayons==1}
-blend[-1,-2] and,1,0
-elif {$Melanges_Rayons==2}
-blend[-1,-2] average,1,0
-elif {$Melanges_Rayons==3}
-blend[-1,-2] darken,1,0
-elif {$Melanges_Rayons==4}
-blend[-1,-2] difference,1,0
-elif {$Melanges_Rayons==5}
-blend[-1,-2] edges,1,0
-elif {$Melanges_Rayons==6}
-blend[-1,-2] grainextract,1,0
-elif {$Melanges_Rayons==7}
-blend[-1,-2] grainmerge,1,0
-elif {$Melanges_Rayons==8}
-blend[-1,-2] multiply,1,0
-elif {$Melanges_Rayons==9}
-blend[-1,-2] negation,1,0
-elif {$Melanges_Rayons==10}
-blend[-1,-2] or,1,0
-elif {$Melanges_Rayons==11}
-blend[-1,-2] screen,1,0
-elif {$Melanges_Rayons==12}
-blend[-1,-2] softburn,1,0
-elif {$Melanges_Rayons==13}
-blend[-1,-2] softdodge,1,0
-elif {$Melanges_Rayons==14}
-blend[-1,-2] subtract,1,0
-elif {$Melanges_Rayons==15}
-blend[-1,-2] xor,1,0
-elif {$Melanges_Rayons==16}
# Pas de mélange
-endif
-c[-1,-2] 0,255
-if {$Supprimer_Calque_Origine==1}
-if {$Melanges_Rayons==16}
# Pas de mélange couleurs
-reverse[-3,-2,-1]
-else
# Mélange couleurs
-reverse[-1,-2]
-blend[-1,-2] alpha,1,0
-endif
-else
-if {$Melanges_Rayons==16}
# Pas de mélange couleurs
-reverse[-3,-2,-1,0]
-else
# Mélange couleurs
-reverse[-1,-2]
-blend[-1,-2] alpha,1,0
-reverse[0,-1]
-endif
-endif
#################################################
## ##
## FIN Twisted_Rays ##
## ##
#################################################
################################################################
## ##
## Tracer des traits autour d'un point ##
## ##
################################################################
# Idées générales
# Des segments partent d'un point. Ils sont définis par : les coordonnées du point origine, la longueur, les variations de longueur, le nombre, l'angle de départ, l'angle de fin, la couleur, les variations de couleur, une symétrie par rapport au point d'origine, % longueur symétrie.
# Version origine le 24 décembre 2012 , Joyeux Noël !
# Version 1.01 20121224
# version 1.02 abandon du "preview" avec : Traits_Strokes_samj(1)
# version 1.03 ajout Epaisseur / Thickness = int(0,0,32)
# version 1.04 ajout éloignement
# 17 janvier 2014 modification blend
# 2014/04/24 blend
# 2014/07/03 modification gimp_blend
# 2015/03/15 menu , simplification , modification gimp_blend , dimensions fonction de W et H
#@gimp Traits_Strokes : Traits_Strokes_samj, Traits_Strokes_samj(1)
#@gimp : sep = separator(), note = note("Origine")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Traits / Strokes")
#@gimp : _L_o_n_g_u_e_u_r / Length (>0 %W) (<0 $H) = float(35,-400,400)
#@gimp : Mode variations = choice(0,"Non / No","Plus / More","Moins / Less","Plus / More [milieu-middle]","Moins / Less [milieu-middle]")
#@gimp : Variations % (Longueur/Length) = float(100,0,1000)
#@gimp : \303\211loignement du centre (>0 %W) (<0 $H) = float(0,-400,400)
#@gimp : _N_o_m_b_r_e_ _d_e_ _t_r_a_i_t_s / Number of strokes = int(30,1,2160)
#@gimp : Angle (D\303\251part / Start) = float(0,0,360)
#@gimp : Angle (Fin / End) = float(360,0,360)
#@gimp : Couleur/ Color= color(240,60,120,255)
#@gimp : Variation de couleur / Color variation = choice("Pas de variation / No change","Couleurs aleatoires / Random colors","Faiblement nuancee / Poorly nuanced","Moyennement nuancee / Moderately nuanced","Fortement nuancee / Highly nuanced")
#@gimp : \303\211paisseur / Thickness = int(0,0,32)
#@gimp : sep = separator(), note = note("Sym\303\251trie / Symmetry")
#@gimp : Sym\303\251trie / Symmetry = bool(0)
#@gimp : Longueur / Length (%) = float(20,0,100)
#@gimp : sep = separator(), note = note("Divers / Foo")
#@gimp : Flou / Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : D\303\251formation = float(0,0,25)
#@gimp : sep = separator(), note = note("M\303\251lange / Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/15.")
Traits_Strokes_samj:
####### Déclaration des variables
Position_X={round({{w}*{$1/100}})}
Position_Y={round({{h}*{$2/100}})}
#Traits
-if {$3>0}
Longueur={{w}*$3/{100}}
-else
Longueur={-{h}*$3/{100}}
-endif
Variations_Formes=$4
Variations_Longueur=$5
-if {$6>0}
Eloignement_du_centre={{w}*$6/{100}}
-else
Eloignement_du_centre={-{h}*$6/{100}}
-endif
Nombre_de_traits=$7
Angle_Depart=$8
Angle_Fin=$9
R_Couleur=$10
V_Couleur=$11
B_Couleur=$12
A_Couleur=$13
Variation_de_couleur=$14
Epaisseur=$15
#Symétrie
Symetrie=$16
Pourcent_Longueur_Sym=$17
#Divers
Flou_traits=$18
Spread_traits=$19
Deform_traits=$20
blend=$21
opacite=$22
Revert_layers=0
####### Ligne de commandes
-to_rgba
{w},{h},1,4 ## créer une image transparente aux mêmes dimensions que l'image d'origine
Angle=$Angle_Depart
-if {$Angle_Depart>$Angle_Fin}
Angle_Fin={$Angle_Fin+360}
-endif
increment_theta={{$Angle_Fin-$Angle_Depart}/$Nombre_de_traits}
-if {$Variations_Formes==1}
Variation={{$Longueur/100*$Variations_Longueur}/$Nombre_de_traits}
-endif
-if {$Variations_Formes==2}
Variation={{-$Longueur/1000*$Variations_Longueur}/$Nombre_de_traits}
-endif
-if {$Variations_Formes==3}
Variation={{$Longueur/100*$Variations_Longueur}/{$Nombre_de_traits/2}}
-endif
-if {$Variations_Formes==4}
Variation={{-$Longueur/1000*$Variations_Longueur}/{$Nombre_de_traits/2}}
-endif
Longueur_calculee=$Longueur
Nb_Boucle=1
R_Couleur_origine=$R_Couleur
V_Couleur_origine=$V_Couleur
B_Couleur_origine=$B_Couleur
A_Couleur_origine=$A_Couleur
-repeat $Nombre_de_traits
-if {$Variation_de_couleur==1}
R_Couleur={round({(?(255))})}
V_Couleur={round({(?(255))})}
B_Couleur={round({(?(255))})}
A_Couleur={{round({(?(200))})}+55}
-endif
## couleurs nuancées
-if {$Variation_de_couleur>1}
Valeur_variation_couleur=16
-if {$Variation_de_couleur==3}
Valeur_variation_couleur=32
-endif
-if {$Variation_de_couleur==4}
Valeur_variation_couleur=64
-endif
R_Couleur={round({$R_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$R_Couleur>255}
R_Couleur=$R_Couleur_origine
-endif
-if {$R_Couleur<0}
R_Couleur=$R_Couleur_origine
-endif
V_Couleur={round({$V_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$V_Couleur>255}
V_Couleur=$V_Couleur_origine
-endif
-if {$V_Couleur<0}
V_Couleur=$V_Couleur_origine
-endif
B_Couleur={round({$B_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$B_Couleur>255}
B_Couleur=$B_Couleur_origine
-endif
-if {$B_Couleur<0}
B_Couleur=$B_Couleur_origine
-endif
-endif
Debut_X={$Position_X+{round(cos(pi/180*$Angle)*$Eloignement_du_centre)}}
Debut_Y={$Position_Y+{round(sin(pi/180*$Angle)*$Eloignement_du_centre)}}
Extremite_X={$Position_X+{round(cos(pi/180*$Angle)*{$Longueur_calculee+$Eloignement_du_centre})}}
Extremite_Y={$Position_Y+{round(sin(pi/180*$Angle)*{$Longueur_calculee+$Eloignement_du_centre})}}
-line[-1] $Debut_X,$Debut_Y,$Extremite_X,$Extremite_Y,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-if {$Symetrie==1}
Debut_X={$Position_X+{round(cos(pi/180*{$Angle+180})*$Eloignement_du_centre)}}
Debut_Y={$Position_Y+{round(sin(pi/180*{$Angle+180})*$Eloignement_du_centre)}}
Extremite_X={$Position_X+{round(cos(pi/180*{$Angle+180})*{{$Longueur_calculee/100*$Pourcent_Longueur_Sym}+$Eloignement_du_centre})}}
Extremite_Y={$Position_Y+{round(sin(pi/180*{$Angle+180})*{{$Longueur_calculee/100*$Pourcent_Longueur_Sym}+$Eloignement_du_centre})}}
-line[-1] $Debut_X,$Debut_Y,$Extremite_X,$Extremite_Y,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-endif
Angle={$Angle+$increment_theta}
-if {{$Variations_Formes==1}||{$Variations_Formes==2}}
Longueur_calculee={$Longueur_calculee+$Variation}
-endif
-if {{$Variations_Formes==3}||{$Variations_Formes==4}}
-if {$Nb_Boucle<{$Nombre_de_traits/2}}
Longueur_calculee={$Longueur_calculee+$Variation}
-else
Longueur_calculee={$Longueur_calculee-$Variation}
-endif
-endif
Nb_Boucle={$Nb_Boucle+1}
-done
-if {$Epaisseur>0}
-dilate_circ[-1] $Epaisseur
-endif
-blur[-1] $Flou_traits
-spread[-1] $Spread_traits
-deform[-1] $Deform_traits
-gimp_blend[-1,-2] $blend,1,$opacite,$Revert_layers,1 # alpha
################################################################
## ##
## FIN Tracer des traits autour d'un point ##
## ##
################################################################
#################################################
## ##
## Egg_Oeuf_Hugelschaffer ##
## ##
#################################################
# 2014/04/24 blend
# modification 2014/03/28 interpolation -rotate[-1]
# origine 2014/03/25
# 2015/03/14 menu
#@gimp Egg_Oeuf_Hugelschaffer : samj_Egg_Oeuf_Hugelschaffer, samj_Egg_Oeuf_Hugelschaffer(1)
#@gimp : note = link("http://www.mathcurve.com/courbes2d/oeuf/oeuf.shtml","http://www.mathcurve.com/courbes2d/oeuf/oeuf.shtml")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Dimension = float(50,0,100)
#@gimp : Valeur A Forme = float(6,0,10)
#@gimp : Valeur B Forme = float(48,0,100)
#@gimp : Valeur D Forme = float(0,0,24)
#@gimp : Angle Inclinaison = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage Contours = choice(1,"Sans","Egg Oeuf","Egg Oeuf CA CB")
#@gimp : Couleur = color(255,255,0,127)
#@gimp : Couleur al\303\251atoire / Random color = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre = bool(0)
#@gimp : X-Ombre = float(0.5,-5,5)
#@gimp : Y-Ombre = float(0.5,-5,5)
#@gimp : Douceur / Smoothness Ombre = float(1.8,0,5)
#@gimp : Courbure / Curvature Ombre = float(0,0,1)
#@gimp : Compensation D\303\251calage Ombre X = float(0,-20,20)
#@gimp : Compensation D\303\251calage Ombre Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/14.")
samj_Egg_Oeuf_Hugelschaffer :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Dimension={round({{min({w},{h})}*$3/5000})}
Valeur_A=$4
Valeur_B=$5
Valeur_D=$6
Angle_Rotation=$7
R_Contours=$8
V_Contours=$9
B_Contours=$10
A_Contours=$11
Affichage_Contours=$12
R_a=$13
V_a=$14
B_a=$15
A_a=$16
Couleurs_aleatoires=$17
Inversions=$18
Flou=$19
Dilatation=$20
Deformation=$21
Bruit=$22
Ombre=$23
X_Ombre=$24
Y_Ombre=$25
Smoothness_Ombre=$26
Curvature_Ombre=$27
Compensation_Decalage_Ombre_X=$28
Compensation_Decalage_Ombre_Y=$29
Canal_Alpha=$30
Resolution=720
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Angle=0
X_Oeuf_A_Imprimer=0
Y_Oeuf_A_Imprimer=0
X_Oeuf_A_Imprimer_Precedent={$X+{$Dimension*{{{{$Valeur_A*$Valeur_A}-{$Valeur_D*$Valeur_D*{sin({pi/180*$Angle})}*{sin({pi/180*$Angle})}}^0.5}+{$Valeur_D*{cos({pi/180*$Angle})}}}*{cos({pi/180*$Angle})}}}}
Y_Oeuf_A_Imprimer_Precedent={$Y+{$Dimension*{$Valeur_B*{sin({pi/180*$Angle})}}}}
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
-endif
-if {$Affichage_Contours==2}
-ellipse[-2] $X,$Y,{$Dimension*$Valeur_A},{$Dimension*$Valeur_A},0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-2] $X,$Y,{$Dimension*$Valeur_B},{$Dimension*$Valeur_B},0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-repeat $Resolution
Nb_boucles={$Nb_boucles+1}
Angle={$Nb_boucles*{360/$Resolution}}
X_Oeuf_A_Imprimer={$X+{$Dimension*{{{{$Valeur_A*$Valeur_A}-{$Valeur_D*$Valeur_D*{sin({pi/180*$Angle})}*{sin({pi/180*$Angle})}}^0.5}+{$Valeur_D*{cos({pi/180*$Angle})}}}*{cos({pi/180*$Angle})}}}}
Y_Oeuf_A_Imprimer={$Y+{$Dimension*{$Valeur_B*{sin({pi/180*$Angle})}}}}
-polygon[-1] 3,$X,$Y,$X_Oeuf_A_Imprimer_Precedent,$Y_Oeuf_A_Imprimer_Precedent,$X_Oeuf_A_Imprimer,$Y_Oeuf_A_Imprimer,1,$R_a,$V_a,$B_a,$A_a
-if {$Affichage_Contours>0}
-line[-2] $X_Oeuf_A_Imprimer_Precedent,$Y_Oeuf_A_Imprimer_Precedent,$X_Oeuf_A_Imprimer,$Y_Oeuf_A_Imprimer,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
X_Oeuf_A_Imprimer_Precedent=$X_Oeuf_A_Imprimer
Y_Oeuf_A_Imprimer_Precedent=$Y_Oeuf_A_Imprimer
-done
-if {$Affichage_Contours>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-if {$Angle_Rotation>0} -rotate[-1] $Angle_Rotation,1,0,{{w}/2},{{h}/2} -endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Egg_Oeuf_Hugelschaffer ##
## ##
#################################################
#################################################
## ##
## Egg_Oeuf_Granville ##
## ##
#################################################
# 2014/04/24 blend
# modification 2014/03/28 interpolation -rotate[-1]
# origine 2014/03/26
# voir si Decalage_X utile
# 2015/03/14 menu
#@gimp Egg_Oeuf_Granville : samj_Egg_Oeuf_Granville, samj_Egg_Oeuf_Granville(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/William_Anthony_Granville","http://en.wikipedia.org/wiki/William_Anthony_Granville")
#@gimp : note = link("http://www.mathcurve.com/courbes2d/oeuf/oeufgranville.shtml","http://www.mathcurve.com/courbes2d/oeuf/oeufgranville.shtml")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : D\303\251calage X = float(0,-100,100)
#@gimp : Valeur A Forme = float(20,0,100)
#@gimp : Valeur B Forme = float(30,1,100)
#@gimp : Valeur R Forme = float(10,0.1,99)
#@gimp : Angle Inclinaison = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage Contours = choice(1,"Sans","Egg Oeuf","Egg Oeuf CA CB CR")
#@gimp : Couleur = color(255,255,0,127)
#@gimp : Couleur al\303\251atoire / Random color = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre = bool(0)
#@gimp : X-Ombre = float(0.5,-5,5)
#@gimp : Y-Ombre = float(0.5,-5,5)
#@gimp : Douceur / Smoothness Ombre = float(1.8,0,5)
#@gimp : Courbure / Curvature Ombre = float(0,0,1)
#@gimp : Compensation D\303\251calage Ombre X = float(0,-50,50)
#@gimp : Compensation D\303\251calage Ombre Y = float(0,-50,50)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/14.")
samj_Egg_Oeuf_Granville :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Decalage_X={round({{min({w},{h})}*$3/100})}
Valeur_A={round({{min({w},{h})}*$4/40})}
Valeur_B={round({{min({w},{h})}*$5/40})}
Valeur_R={round({{min({w},{h})}*$6/40})}
Angle_Rotation=$7
R_Contours=$8
V_Contours=$9
B_Contours=$10
A_Contours=$11
Affichage_Contours=$12
R_a=$13
V_a=$14
B_a=$15
A_a=$16
Couleurs_aleatoires=$17
Inversions=$18
Flou=$19
Dilatation=$20
Deformation=$21
Bruit=$22
Ombre=$23
X_Ombre=$24
Y_Ombre=$25
Smoothness_Ombre=$26
Curvature_Ombre=$27
Compensation_Decalage_Ombre_X=$28
Compensation_Decalage_Ombre_Y=$29
Canal_Alpha=$30
Resolution=720
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Angle=0
X_Oeuf_A_Imprimer=0
Y_Oeuf_A_Imprimer=0
# X_Oeuf_A_Imprimer_Precedent={$X+{$Dimension*{ }}}
# Y_Oeuf_A_Imprimer_Precedent={$Y+{$Dimension*{ }}}
X_Oeuf_A_Imprimer_Precedent={{$X-{$Valeur_B+{$Valeur_R/2}}}+{$Decalage_X+{$Valeur_B+{$Valeur_R*{cos({pi/180*$Angle})}}}}}
Y_Oeuf_A_Imprimer_Precedent={$Y+{{{$Valeur_A*$Valeur_R*{sin({pi/180*$Angle})}}/{$Valeur_B+{$Valeur_R*{cos({pi/180*$Angle})}}}}}}
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
-endif
-if {$Affichage_Contours==2}
-ellipse[-2] {$X+$Decalage_X},$Y,$Valeur_A,$Valeur_A,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-2] {$X+$Decalage_X},$Y,$Valeur_B,$Valeur_B,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-2] {$X+$Decalage_X},$Y,$Valeur_R,$Valeur_R,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-repeat $Resolution
Nb_boucles={$Nb_boucles+1}
Angle={$Nb_boucles*{360/$Resolution}}
X_Oeuf_A_Imprimer={{$X-{$Valeur_B+{$Valeur_R/2}}}+{$Decalage_X+{$Valeur_B+{$Valeur_R*{cos({pi/180*$Angle})}}}}}
Y_Oeuf_A_Imprimer={$Y+{{{$Valeur_A*$Valeur_R*{sin({pi/180*$Angle})}}/{$Valeur_B+{$Valeur_R*{cos({pi/180*$Angle})}}}}}}
-polygon[-1] 3,{$X+$Decalage_X},$Y,$X_Oeuf_A_Imprimer_Precedent,$Y_Oeuf_A_Imprimer_Precedent,$X_Oeuf_A_Imprimer,$Y_Oeuf_A_Imprimer,1,$R_a,$V_a,$B_a,$A_a
-if {$Affichage_Contours>0}
-line[-2] $X_Oeuf_A_Imprimer_Precedent,$Y_Oeuf_A_Imprimer_Precedent,$X_Oeuf_A_Imprimer,$Y_Oeuf_A_Imprimer,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
X_Oeuf_A_Imprimer_Precedent=$X_Oeuf_A_Imprimer
Y_Oeuf_A_Imprimer_Precedent=$Y_Oeuf_A_Imprimer
-done
-if {$Affichage_Contours>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-if {$Angle_Rotation>0} -rotate[-1] $Angle_Rotation,1,0,{{w}/2},{{h}/2} -endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Egg_Oeuf_Granville ##
## ##
#################################################
#################################################
## ##
## Egg_Oeuf_Rosillo ##
## ##
#################################################
# 2014/04/24 blend
# 2015/03/14 menu
#@gimp Egg_Oeuf_Rosillo : samj_Egg_Oeuf_Rosillo, samj_Egg_Oeuf_Rosillo(1)
#@gimp : note = link("http://www.mathcurve.com/courbes2d/rosillo/rosillo.shtml","http://www.mathcurve.com/courbes2d/rosillo/rosillo.shtml")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Valeur A Dimension = float(40,0,100)
#@gimp : Valeur B Forme 200%A = float(200,0,400)
#@gimp : Valeur C Forme 300%A = float(300,0,400)
#@gimp : Angle Inclinaison = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage Contours = choice(1,"Sans","Egg Oeuf","Egg Oeuf CA CB CC")
#@gimp : Couleur = color(255,255,0,127)
#@gimp : Couleur al\303\251atoire / Random color = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre = bool(0)
#@gimp : X-Ombre = float(0.5,-5,5)
#@gimp : Y-Ombre = float(0.5,-5,5)
#@gimp : Douceur / Smoothness Ombre = float(1.8,0,5)
#@gimp : Courbure / Curvature Ombre = float(0,0,1)
#@gimp : Compensation D\303\251calage Ombre X = float(0,-50,50)
#@gimp : Compensation D\303\251calage Ombre Y = float(0,-50,50)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/14.")
samj_Egg_Oeuf_Rosillo :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Valeur_A={round({{{w}+{h}}*$3/200})}
Valeur_B={$Valeur_A*$4/100}
Valeur_C={$Valeur_A*$5/100}
Angle_Rotation=$6
R_Contours=$7
V_Contours=$8
B_Contours=$9
A_Contours=$10
Affichage_Contours=$11
R_a=$12
V_a=$13
B_a=$14
A_a=$15
Couleurs_aleatoires=$16
Inversions=$17
Flou=$18
Dilatation=$19
Deformation=$20
Bruit=$21
Ombre=$22
X_Ombre=$23
Y_Ombre=$24
Smoothness_Ombre=$25
Curvature_Ombre=$26
Compensation_Decalage_Ombre_X=$27
Compensation_Decalage_Ombre_Y=$28
Canal_Alpha=$29
Resolution=720
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Angle=0
X_Oeuf_A_Imprimer=0
Y_Oeuf_A_Imprimer=0
# X_Oeuf_A_Imprimer_Precedent={$X+{$Dimension*{ }}}
# Y_Oeuf_A_Imprimer_Precedent={$Y+{$Dimension*{ }}}
X_Oeuf_A_Imprimer_Precedent={$X+{$Valeur_A*{cos({pi/180*$Angle})}}}
Y_Oeuf_A_Imprimer_Precedent={$Y+{{$Valeur_B-{$Valeur_A*{cos({pi/180*$Angle})}}}/{$Valeur_C-{$Valeur_A*{cos({pi/180*$Angle})}}}*{$Valeur_A*{sin({pi/180*$Angle})}}}}
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
-endif
-if {$Affichage_Contours==2}
-ellipse[-2] $X,$Y,$Valeur_A,$Valeur_A,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-2] $X,$Y,$Valeur_B,$Valeur_B,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-2] $X,$Y,$Valeur_C,$Valeur_C,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-repeat $Resolution
Nb_boucles={$Nb_boucles+1}
Angle={$Nb_boucles*{360/$Resolution}}
X_Oeuf_A_Imprimer={$X+{$Valeur_A*{cos({pi/180*$Angle})}}}
Y_Oeuf_A_Imprimer={$Y+{{$Valeur_B-{$Valeur_A*{cos({pi/180*$Angle})}}}/{$Valeur_C-{$Valeur_A*{cos({pi/180*$Angle})}}}*{$Valeur_A*{sin({pi/180*$Angle})}}}}
-polygon[-1] 3,$X,$Y,$X_Oeuf_A_Imprimer_Precedent,$Y_Oeuf_A_Imprimer_Precedent,$X_Oeuf_A_Imprimer,$Y_Oeuf_A_Imprimer,1,$R_a,$V_a,$B_a,$A_a
-if {$Affichage_Contours>0}
-line[-2] $X_Oeuf_A_Imprimer_Precedent,$Y_Oeuf_A_Imprimer_Precedent,$X_Oeuf_A_Imprimer,$Y_Oeuf_A_Imprimer,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
X_Oeuf_A_Imprimer_Precedent=$X_Oeuf_A_Imprimer
Y_Oeuf_A_Imprimer_Precedent=$Y_Oeuf_A_Imprimer
-done
-if {$Affichage_Contours>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-if {$Angle_Rotation>0} -rotate[-1] $Angle_Rotation,1,0,{{w}/2},{{h}/2} -endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Egg_Oeuf_Rosillo ##
## ##
#################################################
#################################################
## ##
## Poisson_D_Avril ##
## ##
#################################################
# 2014/04/24 blend
# 2015/03/14 menu
#@gimp Poisson_D_Avril : samj_Poisson_D_Avril, samj_Poisson_D_Avril(1)
#@gimp : note = link("http://www.mathcurve.com/courbes2d/poisson/poisson.shtml","http://www.mathcurve.com/courbes2d/poisson/poisson.shtml")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Valeur A Dimension = float(40,1,100)
#@gimp : Valeur K = float(2,0,4)
#@gimp : Angle Inclinaison = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage Contours = choice(1,"Sans","Poisson","Poisson CA")
#@gimp : Couleur A = color(250,60,10,255)
#@gimp : Couleur B = color(255,255,255,255)
#@gimp : Couleur al\303\251atoire / Random color = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre = bool(0)
#@gimp : X-Ombre = float(0.5,-5,5)
#@gimp : Y-Ombre = float(0.5,-5,5)
#@gimp : Douceur / Smoothness Ombre = float(1.8,0,5)
#@gimp : Courbure / Curvature Ombre = float(0,0,1)
#@gimp : Compensation D\303\251calage Ombre X = float(0,-50,50)
#@gimp : Compensation D\303\251calage Ombre Y = float(0,-50,50)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/14.")
samj_Poisson_D_Avril :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Valeur_A={round({{{w}+{h}}*$3/500})}
Valeur_K=$4
Angle_Rotation=$5
R_Contours=$6
V_Contours=$7
B_Contours=$8
A_Contours=$9
Affichage_Contours=$10
R_a=$11
V_a=$12
B_a=$13
A_a=$14
R_b=$15
V_b=$16
B_b=$17
A_b=$18
Couleurs_aleatoires=$19
Inversions=$20
Flou=$21
Dilatation=$22
Deformation=$23
Bruit=$24
Ombre=$25
X_Ombre=$26
Y_Ombre=$27
Smoothness_Ombre=$28
Curvature_Ombre=$29
Compensation_Decalage_Ombre_X=$30
Compensation_Decalage_Ombre_Y=$31
Canal_Alpha=$32
Resolution=720
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Angle=0
X_Poisson_A_Imprimer=0
Y_Poisson_A_Imprimer=0
X_Poisson_A_Imprimer_Precedent={{$X-$Valeur_A}+{$Valeur_A*{{cos({pi/180*$Angle})}+{$Valeur_K*{cos({pi/180*{$Angle/2}})}}}}}
Y_Poisson_A_Imprimer_Precedent={$Y+{$Valeur_A*{sin({pi/180*$Angle})}}}
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-if {$Affichage_Contours==2}
-ellipse[-2] $X,$Y,$Valeur_A,$Valeur_A,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
-endif
-repeat $Resolution
Nb_boucles={$Nb_boucles+1}
Angle={$Nb_boucles*{360/$Resolution}}
X_Poisson_A_Imprimer={{$X-$Valeur_A}+{$Valeur_A*{{cos({pi/180*$Angle})}+{$Valeur_K*{cos({pi/180*{$Angle/2}})}}}}}
Y_Poisson_A_Imprimer={$Y+{$Valeur_A*{sin({pi/180*$Angle})}}}
-polygon[-1] 3,{$X-{2*$Valeur_A}},$Y,$X_Poisson_A_Imprimer_Precedent,$Y_Poisson_A_Imprimer_Precedent,$X_Poisson_A_Imprimer,$Y_Poisson_A_Imprimer,1,$R_a,$V_a,$B_a,$A_a
-if {$Affichage_Contours>0}
-line[-2] $X_Poisson_A_Imprimer_Precedent,$Y_Poisson_A_Imprimer_Precedent,$X_Poisson_A_Imprimer,$Y_Poisson_A_Imprimer,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
X_Poisson_A_Imprimer_Precedent=$X_Poisson_A_Imprimer
Y_Poisson_A_Imprimer_Precedent=$Y_Poisson_A_Imprimer
-done
Nb_boucles=0
Angle=0
X_Poisson_A_Imprimer_Precedent={{$X-$Valeur_A}+{$Valeur_A*{{cos({pi/180*$Angle})}+{$Valeur_K*{cos({pi/180*{$Angle/2}})}}}}}
Y_Poisson_A_Imprimer_Precedent={$Y-{$Valeur_A*{sin({pi/180*$Angle})}}}
-if {$Couleurs_aleatoires==1}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
-endif
-repeat $Resolution
Nb_boucles={$Nb_boucles+1}
Angle={$Nb_boucles*{360/$Resolution}}
X_Poisson_A_Imprimer={{$X-$Valeur_A}+{$Valeur_A*{{cos({pi/180*$Angle})}+{$Valeur_K*{cos({pi/180*{$Angle/2}})}}}}}
Y_Poisson_A_Imprimer={$Y-{$Valeur_A*{sin({pi/180*$Angle})}}}
-polygon[-1] 3,{$X-{2*$Valeur_A}},$Y,$X_Poisson_A_Imprimer_Precedent,$Y_Poisson_A_Imprimer_Precedent,$X_Poisson_A_Imprimer,$Y_Poisson_A_Imprimer,1,$R_b,$V_b,$B_b,$A_b
-if {$Affichage_Contours>0}
-line[-2] $X_Poisson_A_Imprimer_Precedent,$Y_Poisson_A_Imprimer_Precedent,$X_Poisson_A_Imprimer,$Y_Poisson_A_Imprimer,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
X_Poisson_A_Imprimer_Precedent=$X_Poisson_A_Imprimer
Y_Poisson_A_Imprimer_Precedent=$Y_Poisson_A_Imprimer
-done
-if {$Affichage_Contours>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-if {$Angle_Rotation>0} -rotate[-1] $Angle_Rotation,1,0,{{w}/2},{{h}/2} -endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Poisson_D_Avril ##
## ##
#################################################
################################################################
## ##
## Spirographe ##
## ##
################################################################
# version origine du 25 décembre 2012, Joyeux Noël !
# version 1.03 abandon du "preview" avec : Spirographe_samj(1)
# version 1.04 ajout -dilate_circ
# à voir Harmonograph Pintograph
# 17 janvier 2014 modification blend , ajout
# 2014/04/24 blend
# 2014/07/03 modification gimp_blend
# 2015/03/14 menu , gimp_blend , filtres utilisés en fonction pour version stable simplifiée , Nombre_de_tours float à la place de int
# 2015/03/15 Rayon_1 , Rayon_2 ,Position_Stylo = fonction de W et H
#@gimp Spirographe_samj : Spirographe_samj, Spirographe_samj(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Spirograph")
#@gimp : sep = separator(), note = note("Centre / Center")
#@gimp : Centre / Center X (%) = float(50,0,100)
#@gimp : Centre / Center Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Spirographe")
#@gimp : Rayon/Radius R (>0 W) (<0 H) = float(200,-500,500)
#@gimp : Rayon/Radius r (>0 W) (<0 H) = float(50,-500,500)
#@gimp : Stylo / Pen (Position) (>0 W) (<0 H) = float(150,-500,500)
#@gimp : Stylo / Pen (Couleur/Color) = color(192,128,64,255)
#@gimp : Stylo / Pen (Variation de couleur/Color variation) = choice("Pas de variation / No change","Couleurs aleatoires / Random colors","Faiblement nuancee / Poorly nuanced","Moyennement nuancee / Moderately nuanced","Fortement nuancee / Highly nuanced")
#@gimp : Stylo / Pen (Dilate Pixels) = int(0,0,32)
#@gimp : Nombre de tours / Number of turns = float(3,0.01,20)
#@gimp : Multiplier = choice(0,"Tours / Turns * 1","Tours / Turns * 10 LENT / SLOW","Tours / Turns * 100 TRES LENT / VERY SLOW")
#@gimp : Incr\303\251ment angulaire / Angular increment (Degr\303\251s) = float(1,1,360)
#@gimp : Diviser / Divide = choice(0,"Increment angulaire-Angular increment / 1","Increment angulaire-Angular increment /10 LENT / SLOW","Increment angulaire-Angular increment /100 TRES LENT / VERY SLOW")
#@gimp : Type de rendu / Rendering type = choice("Formule/Formula 1","Formule/Formula 2","Formule/Formula 3","Formule/Formula 4","Formule/Formula 5","Formule/Formula 6","Formule/Formula 7","Formule/Formula 8")
#@gimp : Points (Rayon/Radius) = int(0,0,32)
#@gimp : Points (Couleur/Color) = color(255,0,0,255)
#@gimp : Lignes (Epaisseur/Thickness) = int(0,0,32)
#@gimp : Lignes (Couleur/Color) = color(255,255,0,255)
#@gimp : sep = separator(), note = note("Divers / Foo")
#@gimp : Flou / Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : D\303\251formation = float(0,0,25)
#@gimp : sep = separator(), note = note("M\303\251lange / Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/15.")
Spirographe_samj :
centre_origine_X={$1/100*w}
centre_origine_Y={$2/100*h}
## Spirographe
-if {$3>0}
Rayon_1={{w}*$3/{1000}}
-else
Rayon_1={-{h}*$3/{1000}}
-endif
-if {$4>0}
Rayon_2={{w}*$4/{1000}}
-else
Rayon_2={-{h}*$4/{1000}}
-endif
-if {$5>0}
Position_Stylo={{w}*$5/{1000}}
-else
Position_Stylo={-{h}*$5/{1000}}
-endif
R_Couleur_Stylo=$6
V_Couleur_Stylo=$7
B_Couleur_Stylo=$8
A_Couleur_Stylo=$9
Variation_de_couleur=$10
Dilate_Stylo=$11
Nombre_de_tours=$12
Multiplier_tours=$13
Increment_angulaire=$14
Diviser_Increment_angulaire=$15
Type_de_rendu=$16
Points_Rayon=$17
R_Couleur_Points=$18
V_Couleur_Points=$19
B_Couleur_Points=$20
A_Couleur_Points=$21
Lignes_epaisseur=$22
R_Couleur_Lignes=$23
V_Couleur_Lignes=$24
B_Couleur_Lignes=$25
A_Couleur_Lignes=$26
## divers
Flou_Spirographe=$27
Spread_Spirographe=$28
Deform_Spirographe=$29
blend=$30
opacite=$31
Revert_layers=0
####### Ligne de commandes
-to_rgba
{w},{h},1,4 ## créer une image transparente aux mêmes dimensions que l'image d'origine
Nb_Boucle=1
theta=0
Ancien_point_X=0
Nouveau_point_X=0
Ancien_point_Y=0
Nouveau_point_Y=0
-if {$Rayon_2==0}
Rayon_2=1
-endif
-if {$Multiplier_tours==1}
Nombre_de_tours={$Nombre_de_tours*10}
-endif
-if {$Multiplier_tours==2}
Nombre_de_tours={$Nombre_de_tours*100}
-endif
-if {$Diviser_Increment_angulaire==1}
Increment_angulaire={$Increment_angulaire/10}
-endif
-if {$Diviser_Increment_angulaire==2}
Increment_angulaire={$Increment_angulaire/100}
-endif
Nombre_de_tours={$Nombre_de_tours/$Increment_angulaire*360}
R_Couleur_origine=$R_Couleur_Stylo
V_Couleur_origine=$V_Couleur_Stylo
B_Couleur_origine=$B_Couleur_Stylo
A_Couleur_origine=$A_Couleur_Stylo
-if {$Dilate_Stylo>0} # 2 étapes "lignes+dilate" puis "traits-points"
-repeat $Nombre_de_tours # tracer la ligne
-if {$Variation_de_couleur==1}
R_Couleur_Stylo={round({(?(255))})}
V_Couleur_Stylo={round({(?(255))})}
B_Couleur_Stylo={round({(?(255))})}
##A_Couleur_Stylo={{round({(?(200))})}+55}
-endif
## couleurs nuancées
-if {$Variation_de_couleur>1}
Valeur_variation_couleur=16
-if {$Variation_de_couleur==3}
Valeur_variation_couleur=32
-endif
-if {$Variation_de_couleur==4}
Valeur_variation_couleur=64
-endif
R_Couleur_Stylo={round({$R_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$R_Couleur_Stylo>255}
R_Couleur_Stylo=$R_Couleur_origine
-endif
-if {$R_Couleur_Stylo<0}
R_Couleur_Stylo=$R_Couleur_origine
-endif
V_Couleur_Stylo={round({$V_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$V_Couleur_Stylo>255}
V_Couleur_Stylo=$V_Couleur_origine
-endif
-if {$V_Couleur_Stylo<0}
V_Couleur_Stylo=$V_Couleur_origine
-endif
B_Couleur_Stylo={round({$B_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$B_Couleur_Stylo>255}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-if {$B_Couleur_Stylo<0}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-endif
## Mode
-if {$Type_de_rendu==0}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==1}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==2}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==3}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==4}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==5}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==6}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==7}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
## Tracer
-if {$Nb_Boucle>1}
-line[-1] $Ancien_point_X,$Ancien_point_Y,$Nouveau_point_X,$Nouveau_point_Y,1,$R_Couleur_Stylo,$V_Couleur_Stylo,$B_Couleur_Stylo,$A_Couleur_Stylo
-endif
Ancien_point_X=$Nouveau_point_X
Ancien_point_Y=$Nouveau_point_Y
theta={$theta+$Increment_angulaire}
Nb_Boucle={$Nb_Boucle+1}
-done
-dilate_circ[-1] $Dilate_Stylo
Nb_Boucle=1
theta=0
Ancien_point_X=0
Nouveau_point_X=0
Ancien_point_Y=0
Nouveau_point_Y=0
-if {{$Lignes_epaisseur>0}||{$Points_Rayon>0}}
-repeat $Nombre_de_tours # tracer les points et traits
## Mode
-if {$Type_de_rendu==0}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==1}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==2}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==3}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==4}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==5}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==6}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==7}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
## Tracer
-if {$Nb_Boucle>1}
-if {$Lignes_epaisseur>0}
-if {$Points_Rayon>0}
-circle[-1] $Ancien_point_X,$Ancien_point_Y,$Points_Rayon,1,$R_Couleur_Points,$V_Couleur_Points,$B_Couleur_Points,$A_Couleur_Points
-endif
-trait_epais_samj $Ancien_point_X,$Ancien_point_Y,$Nouveau_point_X,$Nouveau_point_Y,$Lignes_epaisseur,1,$R_Couleur_Lignes,$V_Couleur_Lignes,$B_Couleur_Lignes,$A_Couleur_Lignes
-if {$Points_Rayon>0}
-circle[-1] $Nouveau_point_X,$Nouveau_point_Y,$Points_Rayon,1,$R_Couleur_Points,$V_Couleur_Points,$B_Couleur_Points,$A_Couleur_Points
-endif
-endif
-if {$Points_Rayon>0}
-if {$Variation_de_couleur==1}
R_Couleur_Points={round({(?(255))})}
V_Couleur_Points={round({(?(255))})}
B_Couleur_Points={round({(?(255))})}
##A_Couleur_Points={{round({(?(200))})}+55}
-endif
-circle[-1] $Ancien_point_X,$Ancien_point_Y,$Points_Rayon,1,$R_Couleur_Points,$V_Couleur_Points,$B_Couleur_Points,$A_Couleur_Points
-endif
-endif
Ancien_point_X=$Nouveau_point_X
Ancien_point_Y=$Nouveau_point_Y
theta={$theta+$Increment_angulaire}
Nb_Boucle={$Nb_Boucle+1}
-done
-endif
-else
-repeat $Nombre_de_tours
-if {$Variation_de_couleur==1}
R_Couleur_Stylo={round({(?(255))})}
V_Couleur_Stylo={round({(?(255))})}
B_Couleur_Stylo={round({(?(255))})}
##A_Couleur_Stylo={{round({(?(200))})}+55}
-endif
## couleurs nuancées
-if {$Variation_de_couleur>1}
Valeur_variation_couleur=16
-if {$Variation_de_couleur==3}
Valeur_variation_couleur=32
-endif
-if {$Variation_de_couleur==4}
Valeur_variation_couleur=64
-endif
R_Couleur_Stylo={round({$R_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$R_Couleur_Stylo>255}
R_Couleur_Stylo=$R_Couleur_origine
-endif
-if {$R_Couleur_Stylo<0}
R_Couleur_Stylo=$R_Couleur_origine
-endif
V_Couleur_Stylo={round({$V_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$V_Couleur_Stylo>255}
V_Couleur_Stylo=$V_Couleur_origine
-endif
-if {$V_Couleur_Stylo<0}
V_Couleur_Stylo=$V_Couleur_origine
-endif
B_Couleur_Stylo={round({$B_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$B_Couleur_Stylo>255}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-if {$B_Couleur_Stylo<0}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-endif
## Mode
-if {$Type_de_rendu==0}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==1}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==2}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==3}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1+$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1+$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==4}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==5}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1-$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==6}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{{$Rayon_2+$Position_Stylo}*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
-if {$Type_de_rendu==7}
Nouveau_point_X={$centre_origine_X+{{{$Rayon_1-$Rayon_2}*{cos(pi/180*$theta)}}-{$Position_Stylo*{cos({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
Nouveau_point_Y={$centre_origine_Y+{{{$Rayon_1-$Rayon_2}*{sin(pi/180*$theta)}}-{$Position_Stylo*{sin({{$Rayon_1+$Rayon_2}/$Rayon_2}*{pi/180*$theta})}}}}
-endif
## Tracer
-if {$Nb_Boucle>1}
-if {$Lignes_epaisseur>0}
-if {$Points_Rayon>0}
-circle[-1] $Ancien_point_X,$Ancien_point_Y,$Points_Rayon,1,$R_Couleur_Points,$V_Couleur_Points,$B_Couleur_Points,$A_Couleur_Points
-endif
-trait_epais_samj $Ancien_point_X,$Ancien_point_Y,$Nouveau_point_X,$Nouveau_point_Y,$Lignes_epaisseur,1,$R_Couleur_Lignes,$V_Couleur_Lignes,$B_Couleur_Lignes,$A_Couleur_Lignes
-if {$Points_Rayon>0}
-circle[-1] $Nouveau_point_X,$Nouveau_point_Y,$Points_Rayon,1,$R_Couleur_Points,$V_Couleur_Points,$B_Couleur_Points,$A_Couleur_Points
-endif
-endif
-if {$Lignes_epaisseur<1}
-line[-1] $Ancien_point_X,$Ancien_point_Y,$Nouveau_point_X,$Nouveau_point_Y,1,$R_Couleur_Stylo,$V_Couleur_Stylo,$B_Couleur_Stylo,$A_Couleur_Stylo
-endif
-if {$Points_Rayon>0}
-if {$Variation_de_couleur==1}
R_Couleur_Points={round({(?(255))})}
V_Couleur_Points={round({(?(255))})}
B_Couleur_Points={round({(?(255))})}
##A_Couleur_Points={{round({(?(200))})}+55}
-endif
-circle[-1] $Ancien_point_X,$Ancien_point_Y,$Points_Rayon,1,$R_Couleur_Points,$V_Couleur_Points,$B_Couleur_Points,$A_Couleur_Points
-endif
-endif
Ancien_point_X=$Nouveau_point_X
Ancien_point_Y=$Nouveau_point_Y
theta={$theta+$Increment_angulaire}
Nb_Boucle={$Nb_Boucle+1}
-done
-endif
-if {$Flou_Spirographe>0} -blur[-1] $Flou_Spirographe,0 -endif
-if {$Spread_Spirographe>1} -spread[-1] $Spread_Spirographe -endif
-if {$Deform_Spirographe>0} -deform[-1] $Deform_Spirographe -endif
-gimp_blend[-1,-2] $blend,1,$opacite,$Revert_layers,1 # alpha
################################################################
## ##
## FIN Spirographe ##
## ##
################################################################
################################################################
## ##
## Harmonograph ##
## ##
################################################################
# gmic -m samj.gmic 800,800,1,4 -fill_color[-1] 0,0,0,255 -v - -Harmonograph_samj 50,50,255,128,64,255,0,0,1000,0,400,75,150,125,50,4,6,4,10,15,360,0,0,0,0,0,0.0515873,0,0,0,27,1,0 -v + -o Harmonograph.png
# version 1.02 du 3 janvier 2013
# 17 janvier 2014 modification blend
# 2014/04/24 blend
# 2014/07/03 modification gimp_blend
# 2015/03/14 menu , gimp_blend , filtres utilisés en fonction pour version stable simplifiée
# 2015/03/15 Amplitude1 Amplitude2 Amplitude3 Amplitude4 en fonction de W et H
#@gimp Harmonograph : Harmonograph_samj, Harmonograph_samj(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Harmonograph")
#@gimp : sep = separator(), note = note("Centre / Center")
#@gimp : Centre / Center X (%) = float(50,0,100)
#@gimp : Centre / Center Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Harmonograph")
#@gimp : Stylo / Pen (Couleur/Color) = color(192,128,64,255)
#@gimp : Stylo / Pen (Variation de couleur/Color variation) = choice("Pas de variation / No change","Couleurs aleatoires / Random colors","Faiblement nuancee / Poorly nuanced","Moyennement nuancee / Moderately nuanced","Fortement nuancee / Highly nuanced")
#@gimp : Stylo / Pen (Dilate Pixels) = int(0,0,32)
#@gimp : It\303\251rations = int(1000,2,30000)
#@gimp : Multiplier = choice(0,"Iterations * 1","Iterations * 5 LENT / SLOW","Iterations * 10 TRES LENT / VERY SLOW")
#@gimp : Increment Temps / Time increment [*10000]= float(400,10,500)
#@gimp : sep = separator(), note = note("Amplitude")
#@gimp : Amplitude 1 (>0 W) (<0 H) = float(150,-1000,1000)
#@gimp : Amplitude 2 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 3 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 4 (>0 W) (<0 H) = float(100,-1000,1000)
#@gimp : sep = separator(), note = note("Fr\303\251quence / Frequency")
#@gimp : Fr\303\251quence 1 = float(4,0,16)
#@gimp : Fr\303\251quence 2 = float(6,0,16)
#@gimp : Fr\303\251quence 3 = float(2,0,16)
#@gimp : Fr\303\251quence 4 = float(2,0,16)
#@gimp : sep = separator(), note = note("Phase")
#@gimp : Phase 1 = float(15,0,360)
#@gimp : Phase 2 = float(270,0,360)
#@gimp : Phase 3 = float(75,0,360)
#@gimp : Phase 4 = float(60,0,360)
#@gimp : sep = separator(), note = note("Amortissement / Damping")
#@gimp : Amortissement 1 = float(0.04,0,1)
#@gimp : Amortissement 2 = float(0.04,0,1)
#@gimp : Amortissement 3 = float(0.05,0,1)
#@gimp : Amortissement 4 = float(0.06,0,1)
#@gimp : sep = separator(), note = note("Divers / Foo")
#@gimp : Flou / Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : D\303\251formation = float(0,0,25)
#@gimp : sep = separator(), note = note("M\303\251lange / Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/15.")
Harmonograph_samj :
centre_origine_X={$1/100*w}
centre_origine_Y={$2/100*h}
R_Couleur_Stylo=$3
V_Couleur_Stylo=$4
B_Couleur_Stylo=$5
A_Couleur_Stylo=$6
Variation_de_couleur=$7
Dilate_Stylo=$8
Iterations=$9
Multiplier_Iterations=$10
Increment_temps=$11
-if {$12>0}
Amplitude1={{w}*$12/{1000}}
-else
Amplitude1={-{h}*$12/{1000}}
-endif
-if {$13>0}
Amplitude2={{w}*$13/{1000}}
-else
Amplitude2={-{h}*$13/{1000}}
-endif
-if {$14>0}
Amplitude3={{w}*$14/{1000}}
-else
Amplitude3={-{h}*$14/{1000}}
-endif
-if {$15>0}
Amplitude4={{w}*$15/{1000}}
-else
Amplitude4={-{h}*$15/{1000}}
-endif
Frequence1=$16
Frequence2=$17
Frequence3=$18
Frequence4=$19
Phase1=$20
Phase2=$21
Phase3=$22
Phase4=$23
Amort1=$24
Amort2=$25
Amort3=$26
Amort4=$27
## divers
Flou_Harmonograph=$28
Spread_Harmonograph=$29
Deform_Harmonograph=$30
blend=$31
opacite=$32
Revert_layers=0
####### Ligne de commandes
-to_rgba
{w},{h},1,4 ## créer une image transparente aux mêmes dimensions que l'image d'origine
Nb_Boucle=1
temps=0
Ancien_point_X=0
Nouveau_point_X=0
Ancien_point_Y=0
Nouveau_point_Y=0
R_Couleur_origine=$R_Couleur_Stylo
V_Couleur_origine=$V_Couleur_Stylo
B_Couleur_origine=$B_Couleur_Stylo
A_Couleur_origine=$A_Couleur_Stylo
Increment_temps={$Increment_temps/10000}
Phase1={$Phase1/180*{pi}}
Phase2={$Phase2/180*{pi}}
Phase3={$Phase3/180*{pi}}
Phase4={$Phase4/180*{pi}}
-if {$Multiplier_Iterations>0}
Iterations={$Iterations*$Multiplier_Iterations*5}
-endif
-repeat $Iterations
-if {$Variation_de_couleur==1}
R_Couleur_Stylo={round({(?(255))})}
V_Couleur_Stylo={round({(?(255))})}
B_Couleur_Stylo={round({(?(255))})}
##A_Couleur_Stylo={{round({(?(200))})}+55}
-endif
## couleurs nuancées
-if {$Variation_de_couleur>1}
Valeur_variation_couleur=16
-if {$Variation_de_couleur==3}
Valeur_variation_couleur=32
-endif
-if {$Variation_de_couleur==4}
Valeur_variation_couleur=64
-endif
R_Couleur_Stylo={round({$R_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$R_Couleur_Stylo>255}
R_Couleur_Stylo=$R_Couleur_origine
-endif
-if {$R_Couleur_Stylo<0}
R_Couleur_Stylo=$R_Couleur_origine
-endif
V_Couleur_Stylo={round({$V_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$V_Couleur_Stylo>255}
V_Couleur_Stylo=$V_Couleur_origine
-endif
-if {$V_Couleur_Stylo<0}
V_Couleur_Stylo=$V_Couleur_origine
-endif
B_Couleur_Stylo={round({$B_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$B_Couleur_Stylo>255}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-if {$B_Couleur_Stylo<0}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-endif
Nouveau_point_X={$centre_origine_X+{{$Amplitude1*{sin({{$Frequence1*$temps}+$Phase1})}*{exp({-$Amort1*$temps})}}+{$Amplitude2*{sin({{$Frequence2*$temps}+$Phase2})}*{exp({-$Amort2*$temps})}}}}
Nouveau_point_Y={$centre_origine_Y+{{$Amplitude3*{sin({{$Frequence3*$temps}+$Phase3})}*{exp({-$Amort3*$temps})}}+{$Amplitude4*{sin({{$Frequence4*$temps}+$Phase4})}*{exp({-$Amort4*$temps})}}}}
-if {$Nb_Boucle>1}
-line[-1] $Ancien_point_X,$Ancien_point_Y,$Nouveau_point_X,$Nouveau_point_Y,1,$R_Couleur_Stylo,$V_Couleur_Stylo,$B_Couleur_Stylo,$A_Couleur_Stylo
-endif
Ancien_point_X=$Nouveau_point_X
Ancien_point_Y=$Nouveau_point_Y
temps={$temps+$Increment_temps}
Nb_Boucle={$Nb_Boucle+1}
-done
-if {$Dilate_Stylo>0} -dilate_circ[-1] $Dilate_Stylo -endif
-if {$Flou_Harmonograph>0} -blur[-1] $Flou_Harmonograph,0 -endif
-if {$Spread_Harmonograph>1} -spread[-1] $Spread_Harmonograph -endif
-if {$Deform_Harmonograph>0} -deform[-1] $Deform_Harmonograph -endif
-gimp_blend[-1,-2] $blend,1,$opacite,$Revert_layers,1 # alpha
## vérification ##
#-text_outline[0] $Amplitude1,10,10,64,1,1,255,255,255
################################################################
## ##
## FIN Harmonograph ##
## ##
################################################################
################################################################
## ##
## Pintograph_samj ##
## ##
################################################################
# variante de Harmonograph sans amortissement
# -Pintograph_samj 50,50,255,128,64,255,0,0,5000,0,40,200,50,100,300,4,4.05,4.16,3.95636,90,120,75,30,0,0,0,27,1,0
# -Pintograph_samj 50,50,255,128,64,255,0,0,10000,2,10,200,200,200,100,4,4,4.1,4.1,0,75,75,75,0,0,0,27,1,0
# -Pintograph_samj 50,50,255,128,64,255,0,0,10000,2,10,200,200,200,100,4,4,4,4.1,0,75,75,75,0,0,0,27,1,0
# version 1.00 du 3 janvier 2013
# 17 janvier 2014 modification blend
# 2014/04/24 blend
# 2014/07/03 modification gimp_blend
# 2015/03/14 menu , gimp_blend , filtres utilisés en fonction pour version stable simplifiée
# 2015/03/15 Amplitude1 Amplitude2 Amplitude3 Amplitude4 en fonction de W et H
#@gimp Pintograph : Pintograph_samj, Pintograph_samj(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Pintograph")
#@gimp : sep = separator(), note = note("Centre / Center")
#@gimp : Centre / Center X (%) = float(50,0,100)
#@gimp : Centre / Center Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Pintograph")
#@gimp : Stylo / Pen (Couleur/Color) = color(192,128,64,255)
#@gimp : Stylo / Pen (Variation de couleur/Color variation) = choice("Pas de variation / No change","Couleurs aleatoires / Random colors","Faiblement nuancee / Poorly nuanced","Moyennement nuancee / Moderately nuanced","Fortement nuancee / Highly nuanced")
#@gimp : Stylo / Pen (Dilate Pixels) = int(0,0,32)
#@gimp : It\303\251rations = int(1000,2,30000)
#@gimp : Multiplier = choice(0,"Iterations * 1","Iterations * 5 LENT / SLOW","Iterations * 10 TRES LENT / VERY SLOW")
#@gimp : Increment Temps / Time increment [*10000]= float(400,10,500)
#@gimp : sep = separator(), note = note("Amplitude")
#@gimp : Amplitude 1 (>0 W) (<0 H) = float(150,-1000,1000)
#@gimp : Amplitude 2 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 3 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 4 (>0 W) (<0 H) = float(100,-1000,1000)
#@gimp : sep = separator(), note = note("Fr\303\251quence / Frequency")
#@gimp : Fr\303\251quence 1 = float(4.00,0,16)
#@gimp : Fr\303\251quence 2 = float(4.05,0,16)
#@gimp : Fr\303\251quence 3 = float(4.16,0,16)
#@gimp : Fr\303\251quence 4 = float(4.32,0,16)
#@gimp : sep = separator(), note = note("Phase")
#@gimp : Phase 1 = float(75,0,360)
#@gimp : Phase 2 = float(150,0,360)
#@gimp : Phase 3 = float(75,0,360)
#@gimp : Phase 4 = float(60,0,360)
#@gimp : sep = separator(), note = note("Divers / Foo")
#@gimp : Flou / Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : D\303\251formation = float(0,0,25)
#@gimp : sep = separator(), note = note("M\303\251lange / Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacit\303\251 / Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/15.")
Pintograph_samj :
centre_origine_X={$1/100*w}
centre_origine_Y={$2/100*h}
R_Couleur_Stylo=$3
V_Couleur_Stylo=$4
B_Couleur_Stylo=$5
A_Couleur_Stylo=$6
Variation_de_couleur=$7
Dilate_Stylo=$8
Iterations=$9
Multiplier_Iterations=$10
Increment_temps=$11
-if {$12>0}
Amplitude1={{w}*$12/{1000}}
-else
Amplitude1={-{h}*$12/{1000}}
-endif
-if {$13>0}
Amplitude2={{w}*$13/{1000}}
-else
Amplitude2={-{h}*$13/{1000}}
-endif
-if {$14>0}
Amplitude3={{w}*$14/{1000}}
-else
Amplitude3={-{h}*$14/{1000}}
-endif
-if {$15>0}
Amplitude4={{w}*$15/{1000}}
-else
Amplitude4={-{h}*$15/{1000}}
-endif
Frequence1=$16
Frequence2=$17
Frequence3=$18
Frequence4=$19
Phase1=$20
Phase2=$21
Phase3=$22
Phase4=$23
## divers
Flou_Pintograph=$24
Spread_Pintograph=$25
Deform_Pintograph=$26
blend=$27
opacite=$28
Revert_layers=0
####### Ligne de commandes
-to_rgba
{w},{h},1,4 ## créer une image transparente aux mêmes dimensions que l'image d'origine
Nb_Boucle=1
temps=0
Ancien_point_X=0
Nouveau_point_X=0
Ancien_point_Y=0
Nouveau_point_Y=0
R_Couleur_origine=$R_Couleur_Stylo
V_Couleur_origine=$V_Couleur_Stylo
B_Couleur_origine=$B_Couleur_Stylo
A_Couleur_origine=$A_Couleur_Stylo
Increment_temps={$Increment_temps/10000}
Phase1={$Phase1/180*{pi}}
Phase2={$Phase2/180*{pi}}
Phase3={$Phase3/180*{pi}}
Phase4={$Phase4/180*{pi}}
-if {$Multiplier_Iterations>0}
Iterations={$Iterations*$Multiplier_Iterations*5}
-endif
-repeat $Iterations
-if {$Variation_de_couleur==1}
R_Couleur_Stylo={round({(?(255))})}
V_Couleur_Stylo={round({(?(255))})}
B_Couleur_Stylo={round({(?(255))})}
##A_Couleur_Stylo={{round({(?(200))})}+55}
-endif
## couleurs nuancées
-if {$Variation_de_couleur>1}
Valeur_variation_couleur=16
-if {$Variation_de_couleur==3}
Valeur_variation_couleur=32
-endif
-if {$Variation_de_couleur==4}
Valeur_variation_couleur=64
-endif
R_Couleur_Stylo={round({$R_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$R_Couleur_Stylo>255}
R_Couleur_Stylo=$R_Couleur_origine
-endif
-if {$R_Couleur_Stylo<0}
R_Couleur_Stylo=$R_Couleur_origine
-endif
V_Couleur_Stylo={round({$V_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$V_Couleur_Stylo>255}
V_Couleur_Stylo=$V_Couleur_origine
-endif
-if {$V_Couleur_Stylo<0}
V_Couleur_Stylo=$V_Couleur_origine
-endif
B_Couleur_Stylo={round({$B_Couleur_origine+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$B_Couleur_Stylo>255}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-if {$B_Couleur_Stylo<0}
B_Couleur_Stylo=$B_Couleur_origine
-endif
-endif
Nouveau_point_X={$centre_origine_X+{{$Amplitude1*{sin({{$Frequence1*$temps}+$Phase1})}}+{$Amplitude2*{sin({{$Frequence2*$temps}+$Phase2})}}}}
Nouveau_point_Y={$centre_origine_Y+{{$Amplitude3*{sin({{$Frequence3*$temps}+$Phase3})}}+{$Amplitude4*{sin({{$Frequence4*$temps}+$Phase4})}}}}
-if {$Nb_Boucle>1}
-line[-1] $Ancien_point_X,$Ancien_point_Y,$Nouveau_point_X,$Nouveau_point_Y,1,$R_Couleur_Stylo,$V_Couleur_Stylo,$B_Couleur_Stylo,$A_Couleur_Stylo
-endif
Ancien_point_X=$Nouveau_point_X
Ancien_point_Y=$Nouveau_point_Y
temps={$temps+$Increment_temps}
Nb_Boucle={$Nb_Boucle+1}
-done
-if {$Dilate_Stylo>0} -dilate_circ[-1] $Dilate_Stylo -endif
-if {$Flou_Pintograph>0} -blur[-1] $Flou_Pintograph,0 -endif
-if {$Spread_Pintograph>1} -spread[-1] $Spread_Pintograph -endif
-if {$Deform_Pintograph>0} -deform[-1] $Deform_Pintograph -endif
-gimp_blend[-1,-2] $blend,1,$opacite,$Revert_layers,1 # alpha
################################################################
## ##
## FIN Pintograph_samj ##
## ##
################################################################
#################################################
## ##
## Des_Lignes_002 ##
## ##
#################################################
# à faire : ajouter réorganiser les effets
## origine 2014/01/07
## 2014/01/19 ajout effets 10 et 11
## 2014/04/24 blend
## 2014/07/03 modification gimp_blend
## 2015/03/09 menu , Je_passe_l_hiver_en_Floride , simplification blend , ajout effet 12, ajout dilate , Straight Lines remplacce Des_Lignes_002, symétrie
#@gimp Straight Lines : samj_Des_Lignes_002, samj_Des_Lignes_002(1)
#@gimp : sep = separator(), note = note("Des Lignes / Straight Lines")
#@gimp : Sep = separator(), note = note("Param\303\250tres des lignes")
#@gimp : Nombre Lignes / Number Of Lines = int(100,1,4096)
#@gimp : Couleurs Al\303\251atoires / Random Colors = bool(0)
#@gimp : Gris / Gray = bool(0)
#@gimp : Couleur / Color = color(192,128,64,255)
#@gimp : Sym\303\251trie / Symmetry = int(0,0,3)
#@gimp : Effet / Effect = choice(0,"1","2","3","4","5","6","7","8","9","10","11","12")
#@gimp : Etendue / Extent = float(1,1,10)
#@gimp : Sep = separator(), note = note("Effet 12 / Effect 12")
#@gimp : Origine X (% w) = float(50,-400,400)
#@gimp : Origine Y (% h) = float(50,-400,400)
#@gimp : Sep = separator(), note = note("Distorsions")
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Sep = separator(), note = note("M\303\251lange / Blend")
#@gimp : M\303\251lange / Blend = bool(1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/09.")
samj_Des_Lignes_002 :
Nombre_Lignes=$1
Random_Colors=$2
Gris=$3
R_Couleur=$4
V_Couleur=$5
B_Couleur=$6
A_Couleur=$7
Symetrie=$8
Effet=$9
Etendue=$10
point_X={{w}/100*$11}
point_Y={{h}/100*$12}
Flou=$13
Dilatation=$14
Deformation=$15
Bruit=$16
Melange=$17
Inc_L={{w}/{{$Nombre_Lignes+1}*$Etendue}}
Inc_H={{h}/{{$Nombre_Lignes+1}*$Etendue}}
Origine_L=0
Origine_H=0
-if {$Melange==1}
{w},{h},1,4
-else
-to_rgba[-1]
-fill_color[-1] 0,0,0,0
-endif
-repeat $Nombre_Lignes
Origine_L={$Origine_L+$Inc_L}
Origine_H={$Origine_H+$Inc_H}
-if {$Random_Colors==1}
R_Couleur={round(?(0,255))}
V_Couleur={round(?(0,255))}
B_Couleur={round(?(0,255))}
-endif
-if {$Gris==1}
R_Couleur={{$R_Couleur+$V_Couleur+$B_Couleur}/3}
V_Couleur=$R_Couleur
B_Couleur=$R_Couleur
-endif
-if {$Effet==0}
-line[-1] $Origine_L,0,{w},$Origine_H,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==1}
-line[-1] $Origine_L,0,{w},$Origine_H,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==3}
-line[-1] $Origine_L,0,{w},$Origine_H,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==5}
-line[-1] $Origine_L,0,{w},$Origine_H,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==9}
-line[-1] $Origine_L,0,{w},$Origine_H,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==11}
-line[-1] $point_X,$point_Y,{w},$Origine_H,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-line[-1] $point_X,$point_Y,{{w}-$Origine_L},{h},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-line[-1] $point_X,$point_Y,0,{{h}-$Origine_H},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-line[-1] $point_X,$point_Y,$Origine_L,0,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-endif
-if {$Random_Colors==1}
R_Couleur={round(?(0,255))}
V_Couleur={round(?(0,255))}
B_Couleur={round(?(0,255))}
-endif
-if {$Gris==1}
R_Couleur={{$R_Couleur+$V_Couleur+$B_Couleur}/3}
V_Couleur=$R_Couleur
B_Couleur=$R_Couleur
-endif
-if {$Effet==0}
-line[-1] {w},$Origine_H,{{w}-$Origine_L},{h},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==2}
-line[-1] {w},$Origine_H,{{w}-$Origine_L},{h},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==3}
-line[-1] {w},$Origine_H,{{w}-$Origine_L},{h},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==6}
-line[-1] {w},$Origine_H,{{w}-$Origine_L},{h},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==10}
-line[-1] {w},$Origine_H,{{w}-$Origine_L},{h},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-endif
-if {$Random_Colors==1}
R_Couleur={round(?(0,255))}
V_Couleur={round(?(0,255))}
B_Couleur={round(?(0,255))}
-endif
-if {$Gris==1}
R_Couleur={{$R_Couleur+$V_Couleur+$B_Couleur}/3}
V_Couleur=$R_Couleur
B_Couleur=$R_Couleur
-endif
-if {$Effet==0}
-line[-1] {{w}-$Origine_L},{h},0,{{h}-$Origine_H},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==1}
-line[-1] {{w}-$Origine_L},{h},0,{{h}-$Origine_H},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==4}
-line[-1] {{w}-$Origine_L},{h},0,{{h}-$Origine_H},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==7}
-line[-1] {{w}-$Origine_L},{h},0,{{h}-$Origine_H},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==10}
-line[-1] {{w}-$Origine_L},{h},0,{{h}-$Origine_H},1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-endif
-if {$Random_Colors==1}
R_Couleur={round(?(0,255))}
V_Couleur={round(?(0,255))}
B_Couleur={round(?(0,255))}
-endif
-if {$Gris==1}
R_Couleur={{$R_Couleur+$V_Couleur+$B_Couleur}/3}
V_Couleur=$R_Couleur
B_Couleur=$R_Couleur
-endif
-if {$Effet==0}
-line[-1] 0,{{h}-$Origine_H},$Origine_L,0,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==2}
-line[-1] 0,{{h}-$Origine_H},$Origine_L,0,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==4}
-line[-1] 0,{{h}-$Origine_H},$Origine_L,0,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==8}
-line[-1] 0,{{h}-$Origine_H},$Origine_L,0,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-elif {$Effet==9}
-line[-1] 0,{{h}-$Origine_H},$Origine_L,0,1,$R_Couleur,$V_Couleur,$B_Couleur,$A_Couleur
-endif
-done
-if {$Symetrie==1}
-mirror[-1] x
-elif {$Symetrie==2}
-mirror[-1] y
-elif {$Symetrie==3}
-mirror[-1] x
-mirror[-1] y
-endif
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Melange==1}
-blend[-1,-2] alpha,1,0
-endif
# -text_outline[-1] $Effet,10,10,64,1,1,255,255,255
#################################################
## ##
## FIN Des_Lignes_002 ##
## ##
#################################################
#################################################
## ##
## Formes_Geometriques_Simples ##
## ##
#################################################
# 2015/03/09 menu , changement de nom : Simple Geometric Shapes remplace Formes_Geometriques_Simples , ajout blend
# 2014/03/10 origine
# -samj_Formes_Geometriques_Simples[-1] $X_Position,$Y_Position,$R_Externe,$V_Externe,$B_Externe,$A_Externe,$R_Interne,$V_Interne,$B_Interne,$A_Interne,$R_Contour,$V_Contour,$B_Contour,$A_Contour,$Forme,$Dimension_Un,$Dimension_Deux,$Nb_Cotes,$Angle_Inclinaison,$Dilatation
#@gimp Simple Geometric Shapes : samj_Formes_Geometriques_Simples, samj_Formes_Geometriques_Simples(1)
#@gimp : Sep = separator(), note = note("Formes G\303\251ometriques Simples / Simple Geometric Shapes")
#@gimp : Sep = separator(), note = note("Effet")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Couleur Externe / External Color = color(127,127,127,127)
#@gimp : Couleur Interne / Interior Color = color(255,255,0,255)
#@gimp : Couleur / Color Contour = color(0,0,255,255)
#@gimp : Forme / Shape = choice(5,"Polygone Inscrit Dimension 1","Polygone Inscrit Dimension 2","Cercle / Ellipse","Etoile Star Dimension 1","Etoile Star Dimension 2","Polygone Etoile Star Dimension 1","Polygone Etoile Star Dimension 2")
#@gimp : Dimension 1 (% Width) = float(40,0,400)
#@gimp : Dimension 2 (% Height) = float(40,0,400)
#@gimp : Nb C\303\264t\303\251s / Number Of Sides = int(4,3,26)
#@gimp : Angle Inclinaison / Tilt = float(0,0,120)
#@gimp : Dilate = int(0,0,48)
#@gimp : Blend = bool(1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/09.")
samj_Formes_Geometriques_Simples :
X_Position={round({{w}*{$1/100}})}
Y_Position={round({{h}*{$2/100}})}
R_Externe=$3
V_Externe=$4
B_Externe=$5
A_Externe=$6
R_Interne=$7
V_Interne=$8
B_Interne=$9
A_Interne=$10
R_Contour=$11
V_Contour=$12
B_Contour=$13
A_Contour=$14
Forme=$15
Dimension_Un={round({{w}*{$16/100}})}
Dimension_Deux={round({{h}*{$17/100}})}
Nb_Cotes=$18
Angle_Inclinaison=$19
Dilatation=$20
Melange=$21
Largeur_Origine={w}
Hauteur_Origine={h}
Valeur_Angle=0
Nb_Boucles=0
Rayon_Cercle_Circonscrit=0
-if {$Forme==0}
Rayon_Cercle_Circonscrit=$Dimension_Un
-elif {$Forme==1} #"Polygone Inscrit Dimension 2"
Rayon_Cercle_Circonscrit=$Dimension_Deux
-elif {$Forme==3}
Rayon_Cercle_Circonscrit=$Dimension_Un
-if {$Nb_Cotes<5} Nb_Cotes=5 -endif
-elif {$Forme==4}
Rayon_Cercle_Circonscrit=$Dimension_Deux
-if {$Nb_Cotes<5} Nb_Cotes=5 -endif
-elif {$Forme==5}
Rayon_Cercle_Circonscrit=$Dimension_Un
-if {$Nb_Cotes<5} Nb_Cotes=5 -endif
-elif {$Forme==6}
Rayon_Cercle_Circonscrit=$Dimension_Deux
-if {$Nb_Cotes<5} Nb_Cotes=5 -endif
-endif
-if {$Melange==0}
-rm[-1]
-else
-to_rgba[-1]
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-fill_color[-1] $R_Externe,$V_Externe,$B_Externe,$A_Externe
-if {$Forme==2} # ellipse
-ellipse[-1] $X_Position,$Y_Position,$Dimension_Un,$Dimension_Deux,$Angle_Inclinaison,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-ellipse[-1] $X_Position,$Y_Position,$Dimension_Un,$Dimension_Deux,$Angle_Inclinaison,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-else # Coordonnées Polygones Étoiles
-repeat $Nb_Cotes
Nb_Boucles={$Nb_Boucles+1}
-if {$Nb_Boucles==1}
X_a={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_a={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==2}
X_b={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_b={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==3}
X_c={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_c={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==4}
X_d={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_d={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==5}
X_e={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_e={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==6}
X_f={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_f={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==7}
X_g={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_g={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==8}
X_h={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_h={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==9}
X_i={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_i={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==10}
X_j={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_j={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==11}
X_k={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_k={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==12}
X_l={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_l={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==13}
X_m={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_m={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==14}
X_n={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_n={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==15}
X_o={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_o={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==16}
X_p={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_p={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==17}
X_q={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_q={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==18}
X_r={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_r={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==19}
X_s={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_s={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==20}
X_t={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_t={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==21}
X_u={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_u={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==22}
X_v={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_v={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==23}
X_w={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_w={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==24}
X_x={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_x={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==25}
X_y={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_y={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-elif {$Nb_Boucles==26}
X_z={$X_Position+{round({$Rayon_Cercle_Circonscrit*{cos({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
Y_z={$Y_Position+{round({$Rayon_Cercle_Circonscrit*{sin({pi/180*{$Valeur_Angle+$Angle_Inclinaison+{360/$Nb_Cotes}}})}})}}
-endif
Valeur_Angle={$Valeur_Angle+{360/$Nb_Cotes}}
-done
-endif
-if {$Forme==0||$Forme==1} # Polygones Inscrits
-if {$Nb_Cotes==3}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==4}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==5}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==6}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==7}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==8}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==9}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==10}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==11}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==12}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==13}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==14}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==15}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==16}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==17}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==18}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==19}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==20}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==21}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==22}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==23}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==24}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==25}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,$X_y,$Y_y,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,$X_y,$Y_y,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==26}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,$X_y,$Y_y,$X_z,$Y_z,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,$X_y,$Y_y,$X_z,$Y_z,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-endif
-endif
-if {$Forme==3||$Forme==4}
# Etoiles Impaires
-if {$Nb_Cotes==5}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_c,$Y_c,$X_e,$Y_e,$X_b,$Y_b,$X_d,$Y_d,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_c,$Y_c,$X_e,$Y_e,$X_b,$Y_b,$X_d,$Y_d,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==7}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_d,$Y_d,$X_g,$Y_g,$X_c,$Y_c,$X_f,$Y_f,$X_b,$Y_b,$X_e,$Y_e,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_d,$Y_d,$X_g,$Y_g,$X_c,$Y_c,$X_f,$Y_f,$X_b,$Y_b,$X_e,$Y_e,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==9}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_e,$Y_e,$X_i,$Y_i,$X_d,$Y_d,$X_h,$Y_h,$X_c,$Y_c,$X_g,$Y_g,$X_b,$Y_b,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_e,$Y_e,$X_i,$Y_i,$X_d,$Y_d,$X_h,$Y_h,$X_c,$Y_c,$X_g,$Y_g,$X_b,$Y_b,$X_f,$Y_f,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==11}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_f,$Y_f,$X_k,$Y_k,$X_e,$Y_e,$X_j,$Y_j,$X_d,$Y_d,$X_i,$Y_i,$X_c,$Y_c,$X_h,$Y_h,$X_b,$Y_b,$X_g,$Y_g,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_f,$Y_f,$X_k,$Y_k,$X_e,$Y_e,$X_j,$Y_j,$X_d,$Y_d,$X_i,$Y_i,$X_c,$Y_c,$X_h,$Y_h,$X_b,$Y_b,$X_g,$Y_g,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==13}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_g,$Y_g,$X_m,$Y_m,$X_f,$Y_f,$X_l,$Y_l,$X_e,$Y_e,$X_k,$Y_k,$X_d,$Y_d,$X_j,$Y_j,$X_c,$Y_c,$X_i,$Y_i,$X_b,$Y_b,$X_h,$Y_h,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_g,$Y_g,$X_m,$Y_m,$X_f,$Y_f,$X_l,$Y_l,$X_e,$Y_e,$X_k,$Y_k,$X_d,$Y_d,$X_j,$Y_j,$X_c,$Y_c,$X_i,$Y_i,$X_b,$Y_b,$X_h,$Y_h,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==15}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_g,$Y_g,$X_n,$Y_n,$X_f,$Y_f,$X_m,$Y_m,$X_e,$Y_e,$X_l,$Y_l,$X_d,$Y_d,$X_k,$Y_k,$X_c,$Y_c,$X_j,$Y_j,$X_b,$Y_b,$X_i,$Y_i,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_g,$Y_g,$X_n,$Y_n,$X_f,$Y_f,$X_m,$Y_m,$X_e,$Y_e,$X_l,$Y_l,$X_d,$Y_d,$X_k,$Y_k,$X_c,$Y_c,$X_j,$Y_j,$X_b,$Y_b,$X_i,$Y_i,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==17}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_i,$Y_i,$X_q,$Y_q,$X_h,$Y_h,$X_p,$Y_p,$X_g,$Y_g,$X_o,$Y_o,$X_f,$Y_f,$X_n,$Y_n,$X_e,$Y_e,$X_m,$Y_m,$X_d,$Y_d,$X_l,$Y_l,$X_c,$Y_c,$X_k,$Y_k,$X_b,$Y_b,$X_j,$Y_j,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_i,$Y_i,$X_q,$Y_q,$X_h,$Y_h,$X_p,$Y_p,$X_g,$Y_g,$X_o,$Y_o,$X_f,$Y_f,$X_n,$Y_n,$X_e,$Y_e,$X_m,$Y_m,$X_d,$Y_d,$X_l,$Y_l,$X_c,$Y_c,$X_k,$Y_k,$X_b,$Y_b,$X_j,$Y_j,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==19}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_i,$Y_i,$X_r,$Y_r,$X_h,$Y_h,$X_q,$Y_q,$X_g,$Y_g,$X_p,$Y_p,$X_f,$Y_f,$X_o,$Y_o,$X_e,$Y_e,$X_n,$Y_n,$X_d,$Y_d,$X_m,$Y_m,$X_c,$Y_c,$X_l,$Y_l,$X_b,$Y_b,$X_k,$Y_k,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_i,$Y_i,$X_r,$Y_r,$X_h,$Y_h,$X_q,$Y_q,$X_g,$Y_g,$X_p,$Y_p,$X_f,$Y_f,$X_o,$Y_o,$X_e,$Y_e,$X_n,$Y_n,$X_d,$Y_d,$X_m,$Y_m,$X_c,$Y_c,$X_l,$Y_l,$X_b,$Y_b,$X_k,$Y_k,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==21}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_k,$Y_k,$X_u,$Y_u,$X_j,$Y_j,$X_t,$Y_t,$X_i,$Y_i,$X_s,$Y_s,$X_h,$Y_h,$X_r,$Y_r,$X_g,$Y_g,$X_q,$Y_q,$X_f,$Y_f,$X_p,$Y_p,$X_e,$Y_e,$X_o,$Y_o,$X_d,$Y_d,$X_n,$Y_n,$X_c,$Y_c,$X_m,$Y_m,$X_b,$Y_b,$X_l,$Y_l,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_k,$Y_k,$X_u,$Y_u,$X_j,$Y_j,$X_t,$Y_t,$X_i,$Y_i,$X_s,$Y_s,$X_h,$Y_h,$X_r,$Y_r,$X_g,$Y_g,$X_q,$Y_q,$X_f,$Y_f,$X_p,$Y_p,$X_e,$Y_e,$X_o,$Y_o,$X_d,$Y_d,$X_n,$Y_n,$X_c,$Y_c,$X_m,$Y_m,$X_b,$Y_b,$X_l,$Y_l,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==23}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_k,$Y_k,$X_v,$Y_v,$X_j,$Y_j,$X_u,$Y_u,$X_i,$Y_i,$X_t,$Y_t,$X_h,$Y_h,$X_s,$Y_s,$X_g,$Y_g,$X_r,$Y_r,$X_f,$Y_f,$X_q,$Y_q,$X_e,$Y_e,$X_p,$Y_p,$X_d,$Y_d,$X_o,$Y_o,$X_c,$Y_c,$X_n,$Y_n,$X_b,$Y_b,$X_m,$Y_m,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_k,$Y_k,$X_v,$Y_v,$X_j,$Y_j,$X_u,$Y_u,$X_i,$Y_i,$X_t,$Y_t,$X_h,$Y_h,$X_s,$Y_s,$X_g,$Y_g,$X_r,$Y_r,$X_f,$Y_f,$X_q,$Y_q,$X_e,$Y_e,$X_p,$Y_p,$X_d,$Y_d,$X_o,$Y_o,$X_c,$Y_c,$X_n,$Y_n,$X_b,$Y_b,$X_m,$Y_m,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==25}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_m,$Y_m,$X_y,$Y_y,$X_l,$Y_l,$X_x,$Y_x,$X_k,$Y_k,$X_w,$Y_w,$X_j,$Y_j,$X_v,$Y_v,$X_i,$Y_i,$X_u,$Y_u,$X_h,$Y_h,$X_t,$Y_t,$X_g,$Y_g,$X_s,$Y_s,$X_f,$Y_f,$X_r,$Y_r,$X_e,$Y_e,$X_q,$Y_q,$X_d,$Y_d,$X_p,$Y_p,$X_c,$Y_c,$X_o,$Y_o,$X_b,$Y_b,$X_n,$Y_n,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_m,$Y_m,$X_y,$Y_y,$X_l,$Y_l,$X_x,$Y_x,$X_k,$Y_k,$X_w,$Y_w,$X_j,$Y_j,$X_v,$Y_v,$X_i,$Y_i,$X_u,$Y_u,$X_h,$Y_h,$X_t,$Y_t,$X_g,$Y_g,$X_s,$Y_s,$X_f,$Y_f,$X_r,$Y_r,$X_e,$Y_e,$X_q,$Y_q,$X_d,$Y_d,$X_p,$Y_p,$X_c,$Y_c,$X_o,$Y_o,$X_b,$Y_b,$X_n,$Y_n,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
# Étoiles Paires
-elif {$Nb_Cotes==6}
-polygon[-1] {$Nb_Cotes/2},$X_a,$Y_a,$X_c,$Y_c,$X_e,$Y_e,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] {$Nb_Cotes/2},$X_b,$Y_b,$X_d,$Y_d,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] {$Nb_Cotes/2},$X_a,$Y_a,$X_c,$Y_c,$X_e,$Y_e,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] {$Nb_Cotes/2},$X_b,$Y_b,$X_d,$Y_d,$X_f,$Y_f,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==8}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_d,$Y_d,$X_g,$Y_g,$X_b,$Y_b,$X_e,$Y_e,$X_h,$Y_h,$X_c,$Y_c,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_d,$Y_d,$X_g,$Y_g,$X_b,$Y_b,$X_e,$Y_e,$X_h,$Y_h,$X_c,$Y_c,$X_f,$Y_f,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==10}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_e,$Y_e,$X_b,$Y_b,$X_i,$Y_i,$X_f,$Y_f,$X_c,$Y_c,$X_j,$Y_j,$X_g,$Y_g,$X_d,$Y_d,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_e,$Y_e,$X_b,$Y_b,$X_i,$Y_i,$X_f,$Y_f,$X_c,$Y_c,$X_j,$Y_j,$X_g,$Y_g,$X_d,$Y_d,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==12}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_f,$Y_f,$X_k,$Y_k,$X_d,$Y_d,$X_i,$Y_i,$X_b,$Y_b,$X_g,$Y_g,$X_l,$Y_l,$X_e,$Y_e,$X_j,$Y_j,$X_c,$Y_c,$X_h,$Y_h,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_f,$Y_f,$X_k,$Y_k,$X_d,$Y_d,$X_i,$Y_i,$X_b,$Y_b,$X_g,$Y_g,$X_l,$Y_l,$X_e,$Y_e,$X_j,$Y_j,$X_c,$Y_c,$X_h,$Y_h,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==14}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_e,$Y_e,$X_n,$Y_n,$X_i,$Y_i,$X_d,$Y_d,$X_m,$Y_m,$X_h,$Y_h,$X_c,$Y_c,$X_l,$Y_l,$X_g,$Y_g,$X_b,$Y_b,$X_k,$Y_k,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_e,$Y_e,$X_n,$Y_n,$X_i,$Y_i,$X_d,$Y_d,$X_m,$Y_m,$X_h,$Y_h,$X_c,$Y_c,$X_l,$Y_l,$X_g,$Y_g,$X_b,$Y_b,$X_k,$Y_k,$X_f,$Y_f,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==16}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_f,$Y_f,$X_m,$Y_m,$X_d,$Y_d,$X_k,$Y_k,$X_b,$Y_b,$X_i,$Y_i,$X_p,$Y_p,$X_g,$Y_g,$X_n,$Y_n,$X_e,$Y_e,$X_l,$Y_l,$X_c,$Y_c,$X_j,$Y_j,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_f,$Y_f,$X_m,$Y_m,$X_d,$Y_d,$X_k,$Y_k,$X_b,$Y_b,$X_i,$Y_i,$X_p,$Y_p,$X_g,$Y_g,$X_n,$Y_n,$X_e,$Y_e,$X_l,$Y_l,$X_c,$Y_c,$X_j,$Y_j,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==18}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_d,$Y_d,$X_k,$Y_k,$X_r,$Y_r,$X_g,$Y_g,$X_n,$Y_n,$X_c,$Y_c,$X_j,$Y_j,$X_q,$Y_q,$X_f,$Y_f,$X_m,$Y_m,$X_b,$Y_b,$X_i,$Y_i,$X_p,$Y_p,$X_e,$Y_e,$X_l,$Y_l,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_d,$Y_d,$X_k,$Y_k,$X_r,$Y_r,$X_g,$Y_g,$X_n,$Y_n,$X_c,$Y_c,$X_j,$Y_j,$X_q,$Y_q,$X_f,$Y_f,$X_m,$Y_m,$X_b,$Y_b,$X_i,$Y_i,$X_p,$Y_p,$X_e,$Y_e,$X_l,$Y_l,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==20}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_h,$Y_h,$X_q,$Y_q,$X_f,$Y_f,$X_o,$Y_o,$X_d,$Y_d,$X_m,$Y_m,$X_b,$Y_b,$X_k,$Y_k,$X_t,$Y_t,$X_i,$Y_i,$X_r,$Y_r,$X_g,$Y_g,$X_p,$Y_p,$X_e,$Y_e,$X_n,$Y_n,$X_c,$Y_c,$X_l,$Y_l,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_h,$Y_h,$X_q,$Y_q,$X_f,$Y_f,$X_o,$Y_o,$X_d,$Y_d,$X_m,$Y_m,$X_b,$Y_b,$X_k,$Y_k,$X_t,$Y_t,$X_i,$Y_i,$X_r,$Y_r,$X_g,$Y_g,$X_p,$Y_p,$X_e,$Y_e,$X_n,$Y_n,$X_c,$Y_c,$X_l,$Y_l,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==22}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_f,$Y_f,$X_o,$Y_o,$X_b,$Y_b,$X_k,$Y_k,$X_t,$Y_t,$X_g,$Y_g,$X_p,$Y_p,$X_c,$Y_c,$X_l,$Y_l,$X_u,$Y_u,$X_h,$Y_h,$X_q,$Y_q,$X_d,$Y_d,$X_m,$Y_m,$X_v,$Y_v,$X_i,$Y_i,$X_r,$Y_r,$X_e,$Y_e,$X_n,$Y_n,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_f,$Y_f,$X_o,$Y_o,$X_b,$Y_b,$X_k,$Y_k,$X_t,$Y_t,$X_g,$Y_g,$X_p,$Y_p,$X_c,$Y_c,$X_l,$Y_l,$X_u,$Y_u,$X_h,$Y_h,$X_q,$Y_q,$X_d,$Y_d,$X_m,$Y_m,$X_v,$Y_v,$X_i,$Y_i,$X_r,$Y_r,$X_e,$Y_e,$X_n,$Y_n,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==24}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_j,$Y_j,$X_u,$Y_u,$X_h,$Y_h,$X_s,$Y_s,$X_f,$Y_f,$X_q,$Y_q,$X_d,$Y_d,$X_o,$Y_o,$X_b,$Y_b,$X_m,$Y_m,$X_x,$Y_x,$X_k,$Y_k,$X_v,$Y_v,$X_i,$Y_i,$X_t,$Y_t,$X_g,$Y_g,$X_r,$Y_r,$X_e,$Y_e,$X_p,$Y_p,$X_c,$Y_c,$X_n,$Y_n,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_j,$Y_j,$X_u,$Y_u,$X_h,$Y_h,$X_s,$Y_s,$X_f,$Y_f,$X_q,$Y_q,$X_d,$Y_d,$X_o,$Y_o,$X_b,$Y_b,$X_m,$Y_m,$X_x,$Y_x,$X_k,$Y_k,$X_v,$Y_v,$X_i,$Y_i,$X_t,$Y_t,$X_g,$Y_g,$X_r,$Y_r,$X_e,$Y_e,$X_p,$Y_p,$X_c,$Y_c,$X_n,$Y_n,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-elif {$Nb_Cotes==26}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_h,$Y_h,$X_s,$Y_s,$X_d,$Y_d,$X_o,$Y_o,$X_z,$Y_z,$X_k,$Y_k,$X_v,$Y_v,$X_g,$Y_g,$X_r,$Y_r,$X_c,$Y_c,$X_n,$Y_n,$X_y,$Y_y,$X_j,$Y_j,$X_u,$Y_u,$X_f,$Y_f,$X_q,$Y_q,$X_b,$Y_b,$X_m,$Y_m,$X_x,$Y_x,$X_i,$Y_i,$X_t,$Y_t,$X_e,$Y_e,$X_p,$Y_p,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_h,$Y_h,$X_s,$Y_s,$X_d,$Y_d,$X_o,$Y_o,$X_z,$Y_z,$X_k,$Y_k,$X_v,$Y_v,$X_g,$Y_g,$X_r,$Y_r,$X_c,$Y_c,$X_n,$Y_n,$X_y,$Y_y,$X_j,$Y_j,$X_u,$Y_u,$X_f,$Y_f,$X_q,$Y_q,$X_b,$Y_b,$X_m,$Y_m,$X_x,$Y_x,$X_i,$Y_i,$X_t,$Y_t,$X_e,$Y_e,$X_p,$Y_p,1,0xFFFFFFFF,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-endif
-endif
-if {$Forme==5||$Forme==6} # Polygones + Etoiles
# Polygones + Étoiles Impaires
-if {$Nb_Cotes==5}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_c,$Y_c,$X_e,$Y_e,$X_b,$Y_b,$X_d,$Y_d,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==7}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_d,$Y_d,$X_g,$Y_g,$X_c,$Y_c,$X_f,$Y_f,$X_b,$Y_b,$X_e,$Y_e,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==9}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_e,$Y_e,$X_i,$Y_i,$X_d,$Y_d,$X_h,$Y_h,$X_c,$Y_c,$X_g,$Y_g,$X_b,$Y_b,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==11}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_f,$Y_f,$X_k,$Y_k,$X_e,$Y_e,$X_j,$Y_j,$X_d,$Y_d,$X_i,$Y_i,$X_c,$Y_c,$X_h,$Y_h,$X_b,$Y_b,$X_g,$Y_g,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==13}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_g,$Y_g,$X_m,$Y_m,$X_f,$Y_f,$X_l,$Y_l,$X_e,$Y_e,$X_k,$Y_k,$X_d,$Y_d,$X_j,$Y_j,$X_c,$Y_c,$X_i,$Y_i,$X_b,$Y_b,$X_h,$Y_h,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==15}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_g,$Y_g,$X_n,$Y_n,$X_f,$Y_f,$X_m,$Y_m,$X_e,$Y_e,$X_l,$Y_l,$X_d,$Y_d,$X_k,$Y_k,$X_c,$Y_c,$X_j,$Y_j,$X_b,$Y_b,$X_i,$Y_i,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==17}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_i,$Y_i,$X_q,$Y_q,$X_h,$Y_h,$X_p,$Y_p,$X_g,$Y_g,$X_o,$Y_o,$X_f,$Y_f,$X_n,$Y_n,$X_e,$Y_e,$X_m,$Y_m,$X_d,$Y_d,$X_l,$Y_l,$X_c,$Y_c,$X_k,$Y_k,$X_b,$Y_b,$X_j,$Y_j,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==19}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_i,$Y_i,$X_r,$Y_r,$X_h,$Y_h,$X_q,$Y_q,$X_g,$Y_g,$X_p,$Y_p,$X_f,$Y_f,$X_o,$Y_o,$X_e,$Y_e,$X_n,$Y_n,$X_d,$Y_d,$X_m,$Y_m,$X_c,$Y_c,$X_l,$Y_l,$X_b,$Y_b,$X_k,$Y_k,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==21}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_k,$Y_k,$X_u,$Y_u,$X_j,$Y_j,$X_t,$Y_t,$X_i,$Y_i,$X_s,$Y_s,$X_h,$Y_h,$X_r,$Y_r,$X_g,$Y_g,$X_q,$Y_q,$X_f,$Y_f,$X_p,$Y_p,$X_e,$Y_e,$X_o,$Y_o,$X_d,$Y_d,$X_n,$Y_n,$X_c,$Y_c,$X_m,$Y_m,$X_b,$Y_b,$X_l,$Y_l,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==23}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_k,$Y_k,$X_v,$Y_v,$X_j,$Y_j,$X_u,$Y_u,$X_i,$Y_i,$X_t,$Y_t,$X_h,$Y_h,$X_s,$Y_s,$X_g,$Y_g,$X_r,$Y_r,$X_f,$Y_f,$X_q,$Y_q,$X_e,$Y_e,$X_p,$Y_p,$X_d,$Y_d,$X_o,$Y_o,$X_c,$Y_c,$X_n,$Y_n,$X_b,$Y_b,$X_m,$Y_m,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==25}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,$X_y,$Y_y,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_m,$Y_m,$X_y,$Y_y,$X_l,$Y_l,$X_x,$Y_x,$X_k,$Y_k,$X_w,$Y_w,$X_j,$Y_j,$X_v,$Y_v,$X_i,$Y_i,$X_u,$Y_u,$X_h,$Y_h,$X_t,$Y_t,$X_g,$Y_g,$X_s,$Y_s,$X_f,$Y_f,$X_r,$Y_r,$X_e,$Y_e,$X_q,$Y_q,$X_d,$Y_d,$X_p,$Y_p,$X_c,$Y_c,$X_o,$Y_o,$X_b,$Y_b,$X_n,$Y_n,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
# Polygones + Étoiles Paires
-elif {$Nb_Cotes==6}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] {$Nb_Cotes/2},$X_a,$Y_a,$X_c,$Y_c,$X_e,$Y_e,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-polygon[-1] {$Nb_Cotes/2},$X_b,$Y_b,$X_d,$Y_d,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==8}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_d,$Y_d,$X_g,$Y_g,$X_b,$Y_b,$X_e,$Y_e,$X_h,$Y_h,$X_c,$Y_c,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==10}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_e,$Y_e,$X_b,$Y_b,$X_i,$Y_i,$X_f,$Y_f,$X_c,$Y_c,$X_j,$Y_j,$X_g,$Y_g,$X_d,$Y_d,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==12}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_f,$Y_f,$X_k,$Y_k,$X_d,$Y_d,$X_i,$Y_i,$X_b,$Y_b,$X_g,$Y_g,$X_l,$Y_l,$X_e,$Y_e,$X_j,$Y_j,$X_c,$Y_c,$X_h,$Y_h,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==14}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_e,$Y_e,$X_n,$Y_n,$X_i,$Y_i,$X_d,$Y_d,$X_m,$Y_m,$X_h,$Y_h,$X_c,$Y_c,$X_l,$Y_l,$X_g,$Y_g,$X_b,$Y_b,$X_k,$Y_k,$X_f,$Y_f,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==16}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_f,$Y_f,$X_m,$Y_m,$X_d,$Y_d,$X_k,$Y_k,$X_b,$Y_b,$X_i,$Y_i,$X_p,$Y_p,$X_g,$Y_g,$X_n,$Y_n,$X_e,$Y_e,$X_l,$Y_l,$X_c,$Y_c,$X_j,$Y_j,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==18}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_h,$Y_h,$X_o,$Y_o,$X_d,$Y_d,$X_k,$Y_k,$X_r,$Y_r,$X_g,$Y_g,$X_n,$Y_n,$X_c,$Y_c,$X_j,$Y_j,$X_q,$Y_q,$X_f,$Y_f,$X_m,$Y_m,$X_b,$Y_b,$X_i,$Y_i,$X_p,$Y_p,$X_e,$Y_e,$X_l,$Y_l,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==20}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_h,$Y_h,$X_q,$Y_q,$X_f,$Y_f,$X_o,$Y_o,$X_d,$Y_d,$X_m,$Y_m,$X_b,$Y_b,$X_k,$Y_k,$X_t,$Y_t,$X_i,$Y_i,$X_r,$Y_r,$X_g,$Y_g,$X_p,$Y_p,$X_e,$Y_e,$X_n,$Y_n,$X_c,$Y_c,$X_l,$Y_l,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==22}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_j,$Y_j,$X_s,$Y_s,$X_f,$Y_f,$X_o,$Y_o,$X_b,$Y_b,$X_k,$Y_k,$X_t,$Y_t,$X_g,$Y_g,$X_p,$Y_p,$X_c,$Y_c,$X_l,$Y_l,$X_u,$Y_u,$X_h,$Y_h,$X_q,$Y_q,$X_d,$Y_d,$X_m,$Y_m,$X_v,$Y_v,$X_i,$Y_i,$X_r,$Y_r,$X_e,$Y_e,$X_n,$Y_n,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==24}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_j,$Y_j,$X_u,$Y_u,$X_h,$Y_h,$X_s,$Y_s,$X_f,$Y_f,$X_q,$Y_q,$X_d,$Y_d,$X_o,$Y_o,$X_b,$Y_b,$X_m,$Y_m,$X_x,$Y_x,$X_k,$Y_k,$X_v,$Y_v,$X_i,$Y_i,$X_t,$Y_t,$X_g,$Y_g,$X_r,$Y_r,$X_e,$Y_e,$X_p,$Y_p,$X_c,$Y_c,$X_n,$Y_n,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-elif {$Nb_Cotes==26}
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_b,$Y_b,$X_c,$Y_c,$X_d,$Y_d,$X_e,$Y_e,$X_f,$Y_f,$X_g,$Y_g,$X_h,$Y_h,$X_i,$Y_i,$X_j,$Y_j,$X_k,$Y_k,$X_l,$Y_l,$X_m,$Y_m,$X_n,$Y_n,$X_o,$Y_o,$X_p,$Y_p,$X_q,$Y_q,$X_r,$Y_r,$X_s,$Y_s,$X_t,$Y_t,$X_u,$Y_u,$X_v,$Y_v,$X_w,$Y_w,$X_x,$Y_x,$X_y,$Y_y,$X_z,$Y_z,1,$R_Contour,$V_Contour,$B_Contour,$A_Contour
-polygon[-1] $Nb_Cotes,$X_a,$Y_a,$X_l,$Y_l,$X_w,$Y_w,$X_h,$Y_h,$X_s,$Y_s,$X_d,$Y_d,$X_o,$Y_o,$X_z,$Y_z,$X_k,$Y_k,$X_v,$Y_v,$X_g,$Y_g,$X_r,$Y_r,$X_c,$Y_c,$X_n,$Y_n,$X_y,$Y_y,$X_j,$Y_j,$X_u,$Y_u,$X_f,$Y_f,$X_q,$Y_q,$X_b,$Y_b,$X_m,$Y_m,$X_x,$Y_x,$X_i,$Y_i,$X_t,$Y_t,$X_e,$Y_e,$X_p,$Y_p,1,$R_Interne,$V_Interne,$B_Interne,$A_Interne
-endif
-endif
-if {$Dilatation>1}
-dilate_circ[-1] $Dilatation
-endif
#-text_outline[-1] $X_Position,10,10,32,1,1,255,255,255
#-text_outline[-1] $Y_Position,10,35,32,1,1,255,255,255
#-text_outline[-1] $Dimension_Un,10,60,32,1,1,255,255,255
#-text_outline[-1] $Dimension_Deux,10,85,32,1,1,255,255,255
#-text_outline[-1] $Nb_Cotes,10,110,32,1,1,255,255,255
#-text_outline[-1] $Angle_Inclinaison,10,135,32,1,1,255,255,255
-if {$Melange==1}
-blend[-1,-2] alpha,1,0
-endif
#################################################
## ##
## FIN Formes_Geometriques_Simples ##
## ##
#################################################
#################################################
## ##
## Flocon_De_Neige ##
## ##
#################################################
# 2015/03/08 menu , Rayon_cercle_exterieur_flocon en fonction de largeur ou hauteur , ajout contour uniquement
# 2014/04/24 blend
#@gimp Flocon De Neige : samj_Flocon_De_Neige, samj_Flocon_De_Neige(1)
#@gimp : note = note("Ah! comme la neige a neigé! Soir d'hiver / Ėmile Nelligan")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Nb Branches / Rays = int(6,3,12)
#@gimp : Rayon Cercle Ext\303\251rieur / Radius Outer Circle A (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Rayon Cercle Milieu / Radius Middle Circle = float(40,1,100)
#@gimp : Angle Inclinaison / Tilt = float(0,0,360)
#@gimp : R\303\251cursions Contours = int(3,0,5)
#@gimp : Contours = color(192,192,192)
#@gimp : Opacit\303\251 / Opacity Contours = float(1,0,1)
#@gimp : Affichage / Display Contours = choice(0,"Non / No","Contours + Flocon/Snowflake","Contours")
#@gimp : Recursions Flocon / Snowflake = int(3,0,5)
#@gimp : Flocon / Snowflake = color(255,255,255)
#@gimp : Opacit\303\251 Flocon / Opacity Snowflake = float(0.7,0,1)
#@gimp : Type Flocon / Snowflake = choice(0,"A","B","C","A2","B2","C2")
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0))
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2014/04/24.")
samj_Flocon_De_Neige :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Nb_Branches=$3
-if {$4>0}
Rayon_cercle_exterieur_flocon={round({{w}*$4/{100}})}
-else
Rayon_cercle_exterieur_flocon={round({-{h}*$4/{100}})}
-endif
Rayon_Cercle_Milieu={round($Rayon_cercle_exterieur_flocon*2)}
Rayon_Cercle_Milieu={round($Rayon_cercle_exterieur_flocon*$5/100)}
Angle_inclinaison=$6
Recursions_Contours=$7
R_Contours=$8
V_Contours=$9
B_Contours=$10
Opacity_Contours=$11
Affichage_Contours=$12
Recursions_Flocon=$13
R_F=$14
V_F=$15
B_F=$16
Opacity_Flocon=$17
Type_Flocon=$18
Couleurs_aleatoires=$19
Inversions=$20
Flou=$21
Dilatation=$22
Deformation=$23
Bruit=$24
Ombre=$25
X_Ombre=$26
Y_Ombre=$27
Smoothness_Ombre=$28
Curvature_Ombre=$29
Compensation_Decalage_Ombre_X=$30
Compensation_Decalage_Ombre_Y=$31
Canal_Alpha=$32
Largeur_Origine={w}
Hauteur_Origine={h}
Angle_Theta={360/$Nb_Branches}
Nb_boucles=0
X_ext=0
Y_ext=0
X_exta=0
Y_exta=0
X_extb=0
Y_extb=0
X_mil=0
Y_mil=0
Angle=0
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-repeat $Nb_Branches
Angle={$Nb_boucles*$Angle_Theta}
X_ext={$X+{$Rayon_cercle_exterieur_flocon*{cos({pi/180*{$Angle+$Angle_inclinaison+$Angle_Theta}})}}}
Y_ext={$Y+{$Rayon_cercle_exterieur_flocon*{sin({pi/180*{$Angle+$Angle_inclinaison+$Angle_Theta}})}}}
X_exta={$X+{$Rayon_cercle_exterieur_flocon/3*{cos({pi/180*{$Angle+$Angle_inclinaison+$Angle_Theta}})}}}
Y_exta={$Y+{$Rayon_cercle_exterieur_flocon/3*{sin({pi/180*{$Angle+$Angle_inclinaison+$Angle_Theta}})}}}
X_extb={$X+{$Rayon_cercle_exterieur_flocon/3*2*{cos({pi/180*{$Angle+$Angle_inclinaison+$Angle_Theta}})}}}
Y_extb={$Y+{$Rayon_cercle_exterieur_flocon/3*2*{sin({pi/180*{$Angle+$Angle_inclinaison+$Angle_Theta}})}}}
X_mil={$X+{$Rayon_Cercle_Milieu*{cos({pi/180*{$Angle+$Angle_inclinaison+{$Angle_Theta/2}}})}}}
Y_mil={$Y+{$Rayon_Cercle_Milieu*{sin({pi/180*{$Angle+$Angle_inclinaison+{$Angle_Theta/2}}})}}}
Nb_boucles={$Nb_boucles+1}
-if {$Couleurs_aleatoires==1}
R_F={round(?(0,255))}
V_F={round(?(0,255))}
B_F={round(?(0,255))}
-endif
-if {$Type_Flocon==0}
-if {$Affichage_Contours<2}
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_extb,$Y_extb,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_mil,$Y_mil,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-endif
-if {$Affichage_Contours>0}
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X,$Y,$X_extb,$Y_extb,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Contours,$X,$Y,$X_mil,$Y_mil,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-endif
-elif {$Type_Flocon==1}
-if {$Affichage_Contours<2}
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_exta,$Y_exta,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X_exta,$Y_exta,$X_extb,$Y_extb,$X_exta,$Y_exta,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_mil,$Y_mil,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-endif
-if {$Affichage_Contours>0}
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X,$Y,$X_exta,$Y_exta,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X_exta,$Y_exta,$X_extb,$Y_extb,$X_exta,$Y_exta,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Contours,$X,$Y,$X_mil,$Y_mil,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-endif
-elif {$Type_Flocon==2}
-if {$Affichage_Contours<2}
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_ext,$Y_ext,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_mil,$Y_mil,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-endif
-if {$Affichage_Contours>0}
-samj_snowflake_contours_absolu[-2] $Recursions_Contours,$X,$Y,$X_ext,$Y_ext,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Contours,$X,$Y,$X_mil,$Y_mil,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-endif
-elif {$Type_Flocon==3}
-if {$Affichage_Contours<2}
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_extb,$Y_extb,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Flocon,$R_F,$V_F,$B_F
-endif
-if {$Affichage_Contours>0}
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X,$Y,$X_extb,$Y_extb,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-endif
-elif {$Type_Flocon==4}
-if {$Affichage_Contours<2}
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_exta,$Y_exta,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X_exta,$Y_exta,$X_extb,$Y_extb,$X_exta,$Y_exta,$Opacity_Flocon,$R_F,$V_F,$B_F
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Flocon,$R_F,$V_F,$B_F
-endif
-if {$Affichage_Contours>0}
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X,$Y,$X_exta,$Y_exta,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X_exta,$Y_exta,$X_extb,$Y_extb,$X_exta,$Y_exta,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-samj_snowflake_contours_absolu[-2] $Recursions_Flocon,$X_extb,$Y_extb,$X_ext,$Y_ext,$X_extb,$Y_extb,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-endif
-elif {$Type_Flocon==5}
-if {$Affichage_Contours<2}
-samj_snowflake_absolu[-1] $Recursions_Flocon,$X,$Y,$X_ext,$Y_ext,$X,$Y,$Opacity_Flocon,$R_F,$V_F,$B_F
-endif
-if {$Affichage_Contours>0}
-samj_snowflake_contours_absolu[-2] $Recursions_Contours,$X,$Y,$X_ext,$Y_ext,$X,$Y,$Opacity_Contours,$R_Contours,$V_Contours,$B_Contours
-endif
-endif
-done
-if {$Affichage_Contours>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Flocon_De_Neige ##
## ##
#################################################
#################################################
## ##
## Cercles_Tangents_Dans_Cercle ##
## ##
#################################################
# 2015/03/08 menu , Cercles_Tangents_Dans_Cercle devient Pappus Chain
# 2014/04/24 blend
#@gimp Pappus Chain : samj_Cercles_Tangents_Dans_Cercle, samj_Cercles_Tangents_Dans_Cercle(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Pappus_chain","http://en.wikipedia.org/wiki/Pappus_chain")
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Rayon Cercle Ext\303\251rieur / Radius Outer Circle A (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Rayon Premier Cercle B = float(40,0,99)
#@gimp : Angle Inclinaison / Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage / Display Contours = bool(1)
#@gimp : Cercle Ext\303\251rieur / Outer Circle A = color(127,127,127,127)
#@gimp : Premier Cercle / First Circle B = color(255,0,0,127)
#@gimp : Cercle / Circle C = color(0,255,0,127)
#@gimp : Cercle / Circle D = color(0,0,255,127)
#@gimp : Cercle / Circle E = color(255,0,255,127)
#@gimp : Cercle / Circle F = color(255,255,0,127)
#@gimp : Cercle / Circle G = color(0,255,255,127)
#@gimp : Cercle / Circle H = color(192,128,64,127)
#@gimp : Cercle / Circle I = color(64,192,128,127)
#@gimp : Cercle / Circle J = color(128,64,192,127)
#@gimp : Cercle / Circle K = color(192,64,128,127)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0))
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/08.")
samj_Cercles_Tangents_Dans_Cercle :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
-if {$3>0}
Rayon_Cercle_Exterieur={round({{w}*$3/{100}})}
-else
Rayon_Cercle_Exterieur={round({-{h}*$3/{100}})}
-endif
Rayon_Premier_Cercle={round({$Rayon_Cercle_Exterieur*$4/100})}
Angle_inclinaison=$5
R_Contours=$6
V_Contours=$7
B_Contours=$8
A_Contours=$9
Affichage_Contours=$10
R_CE=$11
V_CE=$12
B_CE=$13
A_CE=$14
R_PC=$15
V_PC=$16
B_PC=$17
A_PC=$18
R_c=$19
V_c=$20
B_c=$21
A_c=$22
R_d=$23
V_d=$24
B_d=$25
A_d=$26
R_e=$27
V_e=$28
B_e=$29
A_e=$30
R_f=$31
V_f=$32
B_f=$33
A_f=$34
R_g=$35
V_g=$36
B_g=$37
A_g=$38
R_h=$39
V_h=$40
B_h=$41
A_h=$42
R_i=$43
V_i=$44
B_i=$45
A_i=$46
R_j=$47
V_j=$48
B_j=$49
A_j=$50
R_k=$51
V_k=$52
B_k=$53
A_k=$54
Couleurs_aleatoires=$55
Inversions=$56
Flou=$57
Dilatation=$58
Deformation=$59
Bruit=$60
Ombre=$61
X_Ombre=$62
Y_Ombre=$63
Smoothness_Ombre=$64
Curvature_Ombre=$65
Compensation_Decalage_Ombre_X=$66
Compensation_Decalage_Ombre_Y=$67
Canal_Alpha=$68
Largeur_Origine={w}
Hauteur_Origine={h}
X_Cb={{$Rayon_Cercle_Exterieur-$Rayon_Premier_Cercle}*{cos({pi/180*$Angle_inclinaison})}}
Y_Cb={{$Rayon_Cercle_Exterieur-$Rayon_Premier_Cercle}*{sin({pi/180*$Angle_inclinaison})}}
X_Cc={$Rayon_Premier_Cercle*{cos({pi/180*{$Angle_inclinaison+180}})}}
Y_Cc={$Rayon_Premier_Cercle*{sin({pi/180*{$Angle_inclinaison+180}})}}
R_Cc={$Rayon_Cercle_Exterieur-$Rayon_Premier_Cercle}
#####
# Rayon Cercle rang 1 Pappus
R_Pappus={$R_Cc/$Rayon_Cercle_Exterieur}
n_Pappus=1
b_Pappus={$R_Cc}
a_Pappus={$Rayon_Premier_Cercle}
R_Cercle_d={{$a_Pappus*$b_Pappus*{$a_Pappus+$b_Pappus}}/{{$n_Pappus*$a_Pappus*$a_Pappus}+{$b_Pappus*{$a_Pappus+$b_Pappus}}}}
Va={$R_Cc+$R_Cercle_d}
Vb={$Rayon_Premier_Cercle+$R_Cercle_d}
# Centres des 2 Cercles rang 1 Pappus , adaptation des codes http://paulbourke.net/geometry/circlesphere/
# d_x and d_y are the vertical and horizontal distances between the circle centers. dx dy
d_x={$X_Cb-$X_Cc}
d_y={$Y_Cb-$Y_Cc}
# Determine the straight-line distance between the centers. d
d_between_centers={{{$d_y*$d_y}+{$d_x*$d_x}}^0.5}
# Determine the distance from point 0 to point 2. a
d_p0_p2={{{$Va*$Va}-{$Vb*$Vb}+{$d_between_centers*$d_between_centers}}/{2*$d_between_centers}}
# Determine the coordinates of point 2. x2 y2
c_x2={$X_Cc+{$d_x*$d_p0_p2/$d_between_centers}}
c_y2={$Y_Cc+{$d_y*$d_p0_p2/$d_between_centers}}
# Determine the distance from point 2 to either of the intersection points. h
d_h={{{$Va*$Va}-{$d_p0_p2*$d_p0_p2}}^0.5}
# Now determine the offsets of the intersection points from point 2. rx ry
o_rx={-$d_y*$d_h/$d_between_centers}
o_ry={$d_x*$d_h/$d_between_centers}
# Determine the absolute intersection points.
X_Cercle_da={$c_x2+$o_rx}
Y_Cercle_da={$c_y2+$o_ry}
X_Cercle_db={$c_x2-$o_rx}
Y_Cercle_db={$c_y2-$o_ry}
#####
# Rayon Cercle rang 4 Pappus
R_Pappus={$R_Cc/$Rayon_Cercle_Exterieur}
n_Pappus=4
b_Pappus={$R_Cc}
a_Pappus={$Rayon_Premier_Cercle}
R_Cercle_e={{$a_Pappus*$b_Pappus*{$a_Pappus+$b_Pappus}}/{{$n_Pappus*$a_Pappus*$a_Pappus}+{$b_Pappus*{$a_Pappus+$b_Pappus}}}}
Vb={$R_Cc+$R_Cercle_e}
Va={$R_Cercle_d+$R_Cercle_e}
# Centres des 2 Cercles rang 4 Pappus , adaptation des codes http://paulbourke.net/geometry/circlesphere/
# d_x and d_y are the vertical and horizontal distances between the circle centers. dx dy
d_x={$X_Cc-$X_Cercle_da}
d_y={$Y_Cc-$Y_Cercle_da}
# Determine the straight-line distance between the centers. d
d_between_centers={{{$d_y*$d_y}+{$d_x*$d_x}}^0.5}
# Determine the distance from point 0 to point 2. a
d_p0_p2={{{$Va*$Va}-{$Vb*$Vb}+{$d_between_centers*$d_between_centers}}/{2*$d_between_centers}}
# Determine the coordinates of point 2. x2 y2
c_x2={$X_Cercle_da+{$d_x*$d_p0_p2/$d_between_centers}}
c_y2={$Y_Cercle_da+{$d_y*$d_p0_p2/$d_between_centers}}
# Determine the distance from point 2 to either of the intersection points. h
d_h={{{$Va*$Va}-{$d_p0_p2*$d_p0_p2}}^0.5}
# Now determine the offsets of the intersection points from point 2. rx ry
o_rx={-$d_y*$d_h/$d_between_centers}
o_ry={$d_x*$d_h/$d_between_centers}
# Determine the absolute intersection points.
## comp. X_Cercle_ea={$c_x2+$o_rx}
## comp. Y_Cercle_ea={$c_y2+$o_ry}
X_Cercle_eb={$c_x2-$o_rx}
Y_Cercle_eb={$c_y2-$o_ry}
# Centres des 2 Cercles rang 4 Pappus , adaptation des codes http://paulbourke.net/geometry/circlesphere/
# d_x and d_y are the vertical and horizontal distances between the circle centers. dx dy
d_x={$X_Cc-$X_Cercle_db}
d_y={$Y_Cc-$Y_Cercle_db}
# Determine the straight-line distance between the centers. d
d_between_centers={{{$d_y*$d_y}+{$d_x*$d_x}}^0.5}
# Determine the distance from point 0 to point 2. a
d_p0_p2={{{$Va*$Va}-{$Vb*$Vb}+{$d_between_centers*$d_between_centers}}/{2*$d_between_centers}}
# Determine the coordinates of point 2. x2 y2
c_x2={$X_Cercle_db+{$d_x*$d_p0_p2/$d_between_centers}}
c_y2={$Y_Cercle_db+{$d_y*$d_p0_p2/$d_between_centers}}
# Determine the distance from point 2 to either of the intersection points. h
d_h={{{$Va*$Va}-{$d_p0_p2*$d_p0_p2}}^0.5}
# Now determine the offsets of the intersection points from point 2. rx ry
o_rx={-$d_y*$d_h/$d_between_centers}
o_ry={$d_x*$d_h/$d_between_centers}
# Determine the absolute intersection points.
X_Cercle_ea={$c_x2+$o_rx}
Y_Cercle_ea={$c_y2+$o_ry}
## comp. X_Cercle_eb={$c_x2-$o_rx}
## comp. Y_Cercle_eb={$c_y2-$o_ry}
#####
# Rayon Cercle rang 9 Pappus
R_Pappus={$R_Cc/$Rayon_Cercle_Exterieur}
n_Pappus=9
b_Pappus={$R_Cc}
a_Pappus={$Rayon_Premier_Cercle}
R_Cercle_f={{$a_Pappus*$b_Pappus*{$a_Pappus+$b_Pappus}}/{{$n_Pappus*$a_Pappus*$a_Pappus}+{$b_Pappus*{$a_Pappus+$b_Pappus}}}}
Vb={$R_Cc+$R_Cercle_f}
Va={$R_Cercle_e+$R_Cercle_f}
# Centres des 2 Cercles rang 9 Pappus , adaptation des codes http://paulbourke.net/geometry/circlesphere/
# d_x and d_y are the vertical and horizontal distances between the circle centers. dx dy
d_x={$X_Cc-$X_Cercle_ea}
d_y={$Y_Cc-$Y_Cercle_ea}
# Determine the straight-line distance between the centers. d
d_between_centers={{{$d_y*$d_y}+{$d_x*$d_x}}^0.5}
# Determine the distance from point 0 to point 2. a
d_p0_p2={{{$Va*$Va}-{$Vb*$Vb}+{$d_between_centers*$d_between_centers}}/{2*$d_between_centers}}
# Determine the coordinates of point 2. x2 y2
c_x2={$X_Cercle_ea+{$d_x*$d_p0_p2/$d_between_centers}}
c_y2={$Y_Cercle_ea+{$d_y*$d_p0_p2/$d_between_centers}}
# Determine the distance from point 2 to either of the intersection points. h
d_h={{{$Va*$Va}-{$d_p0_p2*$d_p0_p2}}^0.5}
# Now determine the offsets of the intersection points from point 2. rx ry
o_rx={-$d_y*$d_h/$d_between_centers}
o_ry={$d_x*$d_h/$d_between_centers}
# Determine the absolute intersection points.
X_Cercle_fa={$c_x2+$o_rx}
Y_Cercle_fa={$c_y2+$o_ry}
## comp. X_Cercle_fb={$c_x2-$o_rx}
## comp. Y_Cercle_fb={$c_y2-$o_ry}
# Centres des 2 Cercles rang 9 Pappus , adaptation des codes http://paulbourke.net/geometry/circlesphere/
# d_x and d_y are the vertical and horizontal distances between the circle centers. dx dy
d_x={$X_Cc-$X_Cercle_eb}
d_y={$Y_Cc-$Y_Cercle_eb}
# Determine the straight-line distance between the centers. d
d_between_centers={{{$d_y*$d_y}+{$d_x*$d_x}}^0.5}
# Determine the distance from point 0 to point 2. a
d_p0_p2={{{$Va*$Va}-{$Vb*$Vb}+{$d_between_centers*$d_between_centers}}/{2*$d_between_centers}}
# Determine the coordinates of point 2. x2 y2
c_x2={$X_Cercle_eb+{$d_x*$d_p0_p2/$d_between_centers}}
c_y2={$Y_Cercle_eb+{$d_y*$d_p0_p2/$d_between_centers}}
# Determine the distance from point 2 to either of the intersection points. h
d_h={{{$Va*$Va}-{$d_p0_p2*$d_p0_p2}}^0.5}
# Now determine the offsets of the intersection points from point 2. rx ry
o_rx={-$d_y*$d_h/$d_between_centers}
o_ry={$d_x*$d_h/$d_between_centers}
# Determine the absolute intersection points.
## comp. X_Cercle_fa={$c_x2+$o_rx}
## comp. Y_Cercle_fa={$c_y2+$o_ry}
X_Cercle_fb={$c_x2-$o_rx}
Y_Cercle_fb={$c_y2-$o_ry}
#####
# Rayon Cercle rang 16 Pappus
R_Pappus={$R_Cc/$Rayon_Cercle_Exterieur}
n_Pappus=16
b_Pappus={$R_Cc}
a_Pappus={$Rayon_Premier_Cercle}
R_Cercle_g={{$a_Pappus*$b_Pappus*{$a_Pappus+$b_Pappus}}/{{$n_Pappus*$a_Pappus*$a_Pappus}+{$b_Pappus*{$a_Pappus+$b_Pappus}}}}
Vb={$R_Cc+$R_Cercle_g}
Va={$R_Cercle_f+$R_Cercle_g}
# Centres des 2 Cercles rang 16 Pappus , adaptation des codes http://paulbourke.net/geometry/circlesphere/
# d_x and d_y are the vertical and horizontal distances between the circle centers. dx dy
d_x={$X_Cc-$X_Cercle_fa}
d_y={$Y_Cc-$Y_Cercle_fa}
# Determine the straight-line distance between the centers. d
d_between_centers={{{$d_y*$d_y}+{$d_x*$d_x}}^0.5}
# Determine the distance from point 0 to point 2. a
d_p0_p2={{{$Va*$Va}-{$Vb*$Vb}+{$d_between_centers*$d_between_centers}}/{2*$d_between_centers}}
# Determine the coordinates of point 2. x2 y2
c_x2={$X_Cercle_fa+{$d_x*$d_p0_p2/$d_between_centers}}
c_y2={$Y_Cercle_fa+{$d_y*$d_p0_p2/$d_between_centers}}
# Determine the distance from point 2 to either of the intersection points. h
d_h={{{$Va*$Va}-{$d_p0_p2*$d_p0_p2}}^0.5}
# Now determine the offsets of the intersection points from point 2. rx ry
o_rx={-$d_y*$d_h/$d_between_centers}
o_ry={$d_x*$d_h/$d_between_centers}
# Determine the absolute intersection points.
X_Cercle_ga={$c_x2+$o_rx}
Y_Cercle_ga={$c_y2+$o_ry}
## comp. X_Cercle_gb={$c_x2-$o_rx}
## comp. Y_Cercle_gb={$c_y2-$o_ry}
# Centres des 2 Cercles rang 16 Pappus , adaptation des codes http://paulbourke.net/geometry/circlesphere/
# d_x and d_y are the vertical and horizontal distances between the circle centers. dx dy
d_x={$X_Cc-$X_Cercle_fb}
d_y={$Y_Cc-$Y_Cercle_fb}
# Determine the straight-line distance between the centers. d
d_between_centers={{{$d_y*$d_y}+{$d_x*$d_x}}^0.5}
# Determine the distance from point 0 to point 2. a
d_p0_p2={{{$Va*$Va}-{$Vb*$Vb}+{$d_between_centers*$d_between_centers}}/{2*$d_between_centers}}
# Determine the coordinates of point 2. x2 y2
c_x2={$X_Cercle_fb+{$d_x*$d_p0_p2/$d_between_centers}}
c_y2={$Y_Cercle_fb+{$d_y*$d_p0_p2/$d_between_centers}}
# Determine the distance from point 2 to either of the intersection points. h
d_h={{{$Va*$Va}-{$d_p0_p2*$d_p0_p2}}^0.5}
# Now determine the offsets of the intersection points from point 2. rx ry
o_rx={-$d_y*$d_h/$d_between_centers}
o_ry={$d_x*$d_h/$d_between_centers}
# Determine the absolute intersection points.
## comp. X_Cercle_ga={$c_x2+$o_rx}
## comp. Y_Cercle_ga={$c_y2+$o_ry}
X_Cercle_gb={$c_x2-$o_rx}
Y_Cercle_gb={$c_y2-$o_ry}
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Couleurs_aleatoires==1}
R_CE={round(?(0,255))}
V_CE={round(?(0,255))}
B_CE={round(?(0,255))}
R_PC={round(?(0,255))}
V_PC={round(?(0,255))}
B_PC={round(?(0,255))}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
R_e={round(?(0,255))}
V_e={round(?(0,255))}
B_e={round(?(0,255))}
R_f={round(?(0,255))}
V_f={round(?(0,255))}
B_f={round(?(0,255))}
R_g={round(?(0,255))}
V_g={round(?(0,255))}
B_g={round(?(0,255))}
R_h={round(?(0,255))}
V_h={round(?(0,255))}
B_h={round(?(0,255))}
R_i={round(?(0,255))}
V_i={round(?(0,255))}
B_i={round(?(0,255))}
R_j={round(?(0,255))}
V_j={round(?(0,255))}
B_j={round(?(0,255))}
R_k={round(?(0,255))}
V_k={round(?(0,255))}
B_k={round(?(0,255))}
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-ellipse[-1] $X,$Y,$Rayon_Cercle_Exterieur,$Rayon_Cercle_Exterieur,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cb},{$Y+$Y_Cb},$Rayon_Premier_Cercle,$Rayon_Premier_Cercle,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cc},{$Y+$Y_Cc},$R_Cc,$R_Cc,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_da},{$Y+$Y_Cercle_da},$R_Cercle_d,$R_Cercle_d,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_db},{$Y+$Y_Cercle_db},$R_Cercle_d,$R_Cercle_d,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_ea},{$Y+$Y_Cercle_ea},$R_Cercle_e,$R_Cercle_e,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_eb},{$Y+$Y_Cercle_eb},$R_Cercle_e,$R_Cercle_e,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_fa},{$Y+$Y_Cercle_fa},$R_Cercle_f,$R_Cercle_f,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_fb},{$Y+$Y_Cercle_fb},$R_Cercle_f,$R_Cercle_f,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_ga},{$Y+$Y_Cercle_ga},$R_Cercle_g,$R_Cercle_g,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-ellipse[-1] {$X+$X_Cercle_gb},{$Y+$Y_Cercle_gb},$R_Cercle_g,$R_Cercle_g,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-ellipse[-1] $X,$Y,$Rayon_Cercle_Exterieur,$Rayon_Cercle_Exterieur,0,1,$R_CE,$V_CE,$B_CE,$A_CE
-ellipse[-1] {$X+$X_Cb},{$Y+$Y_Cb},$Rayon_Premier_Cercle,$Rayon_Premier_Cercle,0,1,$R_PC,$V_PC,$B_PC,$A_PC
-ellipse[-1] {$X+$X_Cc},{$Y+$Y_Cc},$R_Cc,$R_Cc,0,1,$R_c,$V_c,$B_c,$A_c
-ellipse[-1] {$X+$X_Cercle_da},{$Y+$Y_Cercle_da},$R_Cercle_d,$R_Cercle_d,0,1,$R_d,$V_d,$B_d,$A_d
-ellipse[-1] {$X+$X_Cercle_db},{$Y+$Y_Cercle_db},$R_Cercle_d,$R_Cercle_d,0,1,$R_e,$V_e,$B_e,$A_e
-ellipse[-1] {$X+$X_Cercle_ea},{$Y+$Y_Cercle_ea},$R_Cercle_e,$R_Cercle_e,0,1,$R_f,$V_f,$B_f,$A_f
-ellipse[-1] {$X+$X_Cercle_eb},{$Y+$Y_Cercle_eb},$R_Cercle_e,$R_Cercle_e,0,1,$R_g,$V_g,$B_g,$A_g
-ellipse[-1] {$X+$X_Cercle_fa},{$Y+$Y_Cercle_fa},$R_Cercle_f,$R_Cercle_f,0,1,$R_h,$V_h,$B_h,$A_h
-ellipse[-1] {$X+$X_Cercle_fb},{$Y+$Y_Cercle_fb},$R_Cercle_f,$R_Cercle_f,0,1,$R_i,$V_i,$B_i,$A_i
-ellipse[-1] {$X+$X_Cercle_ga},{$Y+$Y_Cercle_ga},$R_Cercle_g,$R_Cercle_g,0,1,$R_j,$V_j,$B_j,$A_j
-ellipse[-1] {$X+$X_Cercle_gb},{$Y+$Y_Cercle_gb},$R_Cercle_g,$R_Cercle_g,0,1,$R_k,$V_k,$B_k,$A_k
-if {$Affichage_Contours>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Cercles_Tangents_Dans_Cercle ##
## ##
#################################################
#################################################
## ##
## Annular_Steiner_Chains ##
## ##
#################################################
# 2015/03/08 menu , Rayon_Cercle_Exterieur en fonction de w ou h
# 2014/04/24 blend
# 2014/03/24 ajout des options contours
# origine 2014/03/23
#@gimp Annular Steiner Chains : samj_Annular_Steiner_Chains, samj_Annular_Steiner_Chains(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Rayon Cercle Ext\303\251rieur / Radius Outer Circle A (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Nb Cercles Ext\303\251rieurs / Circles Surrounding = int(6,3,360)
#@gimp : Angle Inclinaison / Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage / Display Contours = choice(1,"Sans","CE CI CA","CE CI CA CC","CE CI CA CC CT","CE CI CA CT","CE CA","CI CA","CA")
#@gimp : Cercle Ext\303\251rieur / Exterior Circle A = color(255,255,0,127)
#@gimp : Cercle Centre / Centre Circle B = color(64,192,128,127)
#@gimp : Cercle / Circle C = color(0,255,0,127)
#@gimp : Cercle / Circle D = color(0,0,255,127)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0))
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/08.")
samj_Annular_Steiner_Chains :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
-if {$3>0}
Rayon_Cercle_Exterieur={round({{w}*$3/{100}})}
-else
Rayon_Cercle_Exterieur={round({-{h}*$3/{100}})}
-endif
Nb_Circles_Surrounding=$4
Angle_inclinaison=$5
R_Contours=$6
V_Contours=$7
B_Contours=$8
A_Contours=$9
Affichage_Contours=$10
R_CE=$11
V_CE=$12
B_CE=$13
A_CE=$14
R_PC=$15
V_PC=$16
B_PC=$17
A_PC=$18
R_c=$19
V_c=$20
B_c=$21
A_c=$22
R_d=$23
V_d=$24
B_d=$25
A_d=$26
Couleurs_aleatoires=$27
Inversions=$28
Flou=$29
Dilatation=$30
Deformation=$31
Bruit=$32
Ombre=$33
X_Ombre=$34
Y_Ombre=$35
Smoothness_Ombre=$36
Curvature_Ombre=$37
Compensation_Decalage_Ombre_X=$38
Compensation_Decalage_Ombre_Y=$39
Canal_Alpha=$40
Largeur_Origine={w}
Hauteur_Origine={h}
Angle_Theta={pi/$Nb_Circles_Surrounding}
Rayon_Cercle_Centre={{$Rayon_Cercle_Exterieur*{1-{sin($Angle_Theta)}}}/{{1+{sin($Angle_Theta)}}}}
Rayon_Cercles_Ext={{$Rayon_Cercle_Exterieur-$Rayon_Cercle_Centre}/2}
Rayon_Centres_C_Ext={$Rayon_Cercle_Centre+$Rayon_Cercles_Ext}
Rayon_Tang={{{$Rayon_Centres_C_Ext*$Rayon_Centres_C_Ext}-{$Rayon_Cercles_Ext*$Rayon_Cercles_Ext}}^0.5}
Nb_boucles=0
X_ext=0
Y_ext=0
Angle=0
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Couleurs_aleatoires==1}
R_CE={round(?(0,255))}
V_CE={round(?(0,255))}
B_CE={round(?(0,255))}
R_PC={round(?(0,255))}
V_PC={round(?(0,255))}
B_PC={round(?(0,255))}
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==3}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-ellipse[-1] $X,$Y,$Rayon_Cercle_Exterieur,$Rayon_Cercle_Exterieur,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==3}||{$Affichage_Contours==4}||{$Affichage_Contours==6}}
-ellipse[-1] $X,$Y,$Rayon_Cercle_Centre,$Rayon_Cercle_Centre,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {{$Affichage_Contours==2}||{$Affichage_Contours==3}} # cercle des centres
-ellipse[-1] $X,$Y,$Rayon_Centres_C_Ext,$Rayon_Centres_C_Ext,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {{$Affichage_Contours==3}||{$Affichage_Contours==4}} # cercle des tang.
-ellipse[-1] $X,$Y,$Rayon_Tang,$Rayon_Tang,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-ellipse[-1] $X,$Y,$Rayon_Cercle_Exterieur,$Rayon_Cercle_Exterieur,0,1,$R_CE,$V_CE,$B_CE,$A_CE
-ellipse[-1] $X,$Y,$Rayon_Cercle_Centre,$Rayon_Cercle_Centre,0,1,$R_PC,$V_PC,$B_PC,$A_PC
-repeat $Nb_Circles_Surrounding
Angle={$Nb_boucles*{360/$Nb_Circles_Surrounding}}
X_ext={$X+{$Rayon_Centres_C_Ext*{cos({pi/180*{$Angle+$Angle_inclinaison}})}}}
Y_ext={$Y+{$Rayon_Centres_C_Ext*{sin({pi/180*{$Angle+$Angle_inclinaison}})}}}
Nb_boucles={$Nb_boucles+1}
-if {$Couleurs_aleatoires==1}
R_c={round(?(0,255))}
V_c={round(?(0,255))}
B_c={round(?(0,255))}
R_d={round(?(0,255))}
V_d={round(?(0,255))}
B_d={round(?(0,255))}
-endif
-if {{($Nb_Circles_Surrounding%2)}==0}
-if {{($Nb_boucles%2)}==0}
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext,$Rayon_Cercles_Ext,0,1,$R_c,$V_c,$B_c,$A_c
-else
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext,$Rayon_Cercles_Ext,0,1,$R_d,$V_d,$B_d,$A_d
-endif
-else
-ellipse[-1] $X_ext,$Y_ext,$Rayon_Cercles_Ext,$Rayon_Cercles_Ext,0,1,$R_c,$V_c,$B_c,$A_c
-endif
-if {$Affichage_Contours>0}
-ellipse[-2] $X_ext,$Y_ext,$Rayon_Cercles_Ext,$Rayon_Cercles_Ext,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-done
-if {$Affichage_Contours>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#-text_outline[-1] {2*$Rayon_Cercle_Exterieur},10,10,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Cercles_Ext},10,60,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Centres_C_Ext},10,110,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Tang},10,160,64,1,1,255,255,255
#-text_outline[-1] {2*$Rayon_Cercle_Centre},10,210,64,1,1,255,255,255
#################################################
## ##
## FIN Annular_Steiner_Chains ##
## ##
#################################################
#################################################
## ##
## Hawaiian_Earring ##
## ##
#################################################
# 2015/03/06 modification menu
# 2014/04/24 blend
#@gimp Hawaiian Earring : samj_Hawaiian_Earring, samj_Hawaiian_Earring(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Hawaiian_earring","http://en.wikipedia.org/wiki/Hawaiian_earring")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Rayon Cercle A / Circle A Radius (%) = float(40,1,200)
#@gimp : Nb Cercles / Circles = int(6,2,25)
#@gimp : Type n = choice(0,"Inc 1","Lin 0.1","Lin 0.2","Lin 0.3","Rand")
#@gimp : Angle Inclinaison / Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage / Display Contours = bool(1)
#@gimp : Cercle A / Circle A = color(255,255,0,127)
#@gimp : Cercles B / Circles B = color(0,0,255,127)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Miroir / Mirror = choice(0,"Sans - Wihout"," X "," Y "," X Y ")
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/06.")
samj_Hawaiian_Earring :
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Rayon_Cercle_Exterieur={round({{{w}+{h}}*$3/200})}
Nb_Circles=$4
Type_n=$5
Angle_inclinaison=$6
R_Contours=$7
V_Contours=$8
B_Contours=$9
A_Contours=$10
Affichage_Contours=$11
R_a=$12
V_a=$13
B_a=$14
A_a=$15
R_b=$16
V_b=$17
B_b=$18
A_b=$19
Couleurs_aleatoires=$20
Inversions=$21
Flou=$22
Dilatation=$23
Deformation=$24
Bruit=$25
Ombre=$26
X_Ombre=$27
Y_Ombre=$28
Smoothness_Ombre=$29
Curvature_Ombre=$30
Compensation_Decalage_Ombre_X=$31
Compensation_Decalage_Ombre_Y=$32
Canal_Alpha=$33
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
X_Cercle_A_Imprimer=$X
Y_Cercle_A_Imprimer=$Y
Rayon_Centre_Cercle_A_Imprimer=0
Rayon_Cercle_A_Imprimer=$Rayon_Cercle_Exterieur
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours==1}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-repeat $Nb_Circles
Nb_boucles={$Nb_boucles+1}
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
-endif
-if {{($Nb_boucles%2)}==0}
-ellipse[-1] $X_Cercle_A_Imprimer,$Y_Cercle_A_Imprimer,$Rayon_Cercle_A_Imprimer,$Rayon_Cercle_A_Imprimer,0,1,$R_a,$V_a,$B_a,$A_a
-else
-ellipse[-1] $X_Cercle_A_Imprimer,$Y_Cercle_A_Imprimer,$Rayon_Cercle_A_Imprimer,$Rayon_Cercle_A_Imprimer,0,1,$R_b,$V_b,$B_b,$A_b
-endif
-if {$Affichage_Contours==1}
-ellipse[-2] $X_Cercle_A_Imprimer,$Y_Cercle_A_Imprimer,$Rayon_Cercle_A_Imprimer,$Rayon_Cercle_A_Imprimer,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Type_n==0}
Rayon_Cercle_A_Imprimer={$Rayon_Cercle_Exterieur/{$Nb_boucles+1}}
-elif {$Type_n==1}
Rayon_Cercle_A_Imprimer={$Rayon_Cercle_A_Imprimer-{$Rayon_Cercle_A_Imprimer*0.1}}
-elif {$Type_n==2}
Rayon_Cercle_A_Imprimer={$Rayon_Cercle_A_Imprimer-{$Rayon_Cercle_A_Imprimer*0.2}}
-elif {$Type_n==3}
Rayon_Cercle_A_Imprimer={$Rayon_Cercle_A_Imprimer-{$Rayon_Cercle_A_Imprimer*0.3}}
-elif {$Type_n==4}
Rayon_Cercle_A_Imprimer={$Rayon_Cercle_A_Imprimer-{$Rayon_Cercle_A_Imprimer*{?(0.1,0.3)}}}
-endif
Rayon_Centre_Cercle_A_Imprimer={$Rayon_Cercle_Exterieur-$Rayon_Cercle_A_Imprimer}
X_Cercle_A_Imprimer={$X-{$Rayon_Centre_Cercle_A_Imprimer*{cos(pi/180*$Angle_inclinaison)}}}
Y_Cercle_A_Imprimer={$Y-{$Rayon_Centre_Cercle_A_Imprimer*{sin(pi/180*$Angle_inclinaison)}}}
-done
-if {$Affichage_Contours==1}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Hawaiian_Earring ##
## ##
#################################################
#################################################
## ##
## Rectangles_Adjacents ##
## ##
#################################################
# 2015/03/06 modification menu
# 2014/04/24 blend
# Script inspiré et adapté de Hawaiian_Earring
#@gimp Adjacent Rectangles : samj_Rectangles_Adjacents, samj_Rectangles_Adjacents(1)
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X Haut Gauche / Top Left = float(10,-100,100)
#@gimp : Position Y Haut Gauche / Top Left = float(10,-100,100)
#@gimp : Position X Bas Droite / Down Right = float(80,0,100)
#@gimp : Position Y Bas Droite / Down Right = float(80,0,100)
#@gimp : Type / Location Contact = choice(0,"Haut - Top","Bas - Down","Gauche - Left","Droite - Right")
#@gimp : Position Contact = float(50,0,100)
#@gimp : Nb Rectangles = int(6,2,25)
#@gimp : Type n = choice(0,"Inc 1","Lin 0.1","Lin 0.2","Lin 0.3","Rand","M1","M2")
#@gimp : Angle Inclinaison / Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage / Display Contours = bool(1)
#@gimp : Rectangle A = color(255,255,0,127)
#@gimp : Rectangle B = color(0,0,255,127)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Miroir / Mirror = choice(0,"Sans - Wihout"," X "," Y "," X Y ")
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/06.")
samj_Rectangles_Adjacents :
X_Haut_Gauche=$1
Y_Haut_Gauche=$2
X_Bas_Droite=$3
Y_Bas_Droite=$4
Type_Contact=$5
Position_Contact=$6
Nb_Rectangles=$7
Type_n=$8
Angle_inclinaison=$9
R_Contours=$10
V_Contours=$11
B_Contours=$12
A_Contours=$13
Affichage_Contours=$14
R_a=$15
V_a=$16
B_a=$17
A_a=$18
R_b=$19
V_b=$20
B_b=$21
A_b=$22
Couleurs_aleatoires=$23
Inversions=$24
Flou=$25
Dilatation=$26
Deformation=$27
Bruit=$28
Ombre=$29
X_Ombre=$30
Y_Ombre=$31
Smoothness_Ombre=$32
Curvature_Ombre=$33
Compensation_Decalage_Ombre_X=$34
Compensation_Decalage_Ombre_Y=$35
Canal_Alpha=$36
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Dimension_Image_Rotation={round({{{{$Largeur_Origine*$Largeur_Origine}+{$Hauteur_Origine*$Hauteur_Origine}}^0.5}+2})}
Decalage_X={round({{$Dimension_Image_Rotation-$Largeur_Origine}/2})}
Decalage_Y={round({{$Dimension_Image_Rotation-$Hauteur_Origine}/2})}
X_H_G_origine={$Decalage_X+{round({$Largeur_Origine*{$X_Haut_Gauche/100}})}}
Y_H_G_origine={$Decalage_Y+{round({$Hauteur_Origine*{$Y_Haut_Gauche/100}})}}
Largeur_Rectangle_origine={round({$Largeur_Origine*{$X_Bas_Droite/100}})}
Hauteur_Rectangle_origine={round({$Hauteur_Origine*{$Y_Bas_Droite/100}})}
Largeur_A_Imprimer=$Largeur_Rectangle_origine
Hauteur_A_Imprimer=$Hauteur_Rectangle_origine
-if {$Type_Contact==0} #h
X_Contact={$X_H_G_origine+{round({$Largeur_Rectangle_origine*{$Position_Contact/100}})}}
Y_Contact=$Y_H_G_origine
-elif {$Type_Contact==1} #b
X_Contact={$X_H_G_origine+{round({$Largeur_Rectangle_origine*{$Position_Contact/100}})}}
Y_Contact={$Y_H_G_origine+$Hauteur_Rectangle_origine}
-elif {$Type_Contact==2} #g
X_Contact=$X_H_G_origine
Y_Contact={$Y_H_G_origine+{round({$Hauteur_Rectangle_origine*{$Position_Contact/100}})}}
-elif {$Type_Contact==3} #d
X_Contact={$X_H_G_origine+$Largeur_Rectangle_origine}
Y_Contact={$Y_H_G_origine+{round({$Hauteur_Rectangle_origine*{$Position_Contact/100}})}}
-endif
X_H_G_A_Imprimer=$X_H_G_origine
Y_H_G_A_Imprimer=$Y_H_G_origine
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours==1}
$Dimension_Image_Rotation,$Dimension_Image_Rotation,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Dimension_Image_Rotation-1},0,{$Dimension_Image_Rotation-1},{$Dimension_Image_Rotation-1},0,{$Dimension_Image_Rotation-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Dimension_Image_Rotation,$Dimension_Image_Rotation,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Dimension_Image_Rotation-1},0,{$Dimension_Image_Rotation-1},{$Dimension_Image_Rotation-1},0,{$Dimension_Image_Rotation-1},1,0xFFFFFFFF,0,0,0,1 -endif
-repeat $Nb_Rectangles
Nb_boucles={$Nb_boucles+1}
-if {$Couleurs_aleatoires==1}
R_a={round(?(0,255))}
V_a={round(?(0,255))}
B_a={round(?(0,255))}
R_b={round(?(0,255))}
V_b={round(?(0,255))}
B_b={round(?(0,255))}
-endif
-if {{($Nb_boucles%2)}==0}
-polygon[-1] 4,$X_H_G_A_Imprimer,$Y_H_G_A_Imprimer,{$X_H_G_A_Imprimer+$Largeur_A_Imprimer},$Y_H_G_A_Imprimer,{$X_H_G_A_Imprimer+$Largeur_A_Imprimer},{$Y_H_G_A_Imprimer+$Hauteur_A_Imprimer},$X_H_G_A_Imprimer,{$Y_H_G_A_Imprimer+$Hauteur_A_Imprimer},1,$R_a,$V_a,$B_a,$A_a
-else
-polygon[-1] 4,$X_H_G_A_Imprimer,$Y_H_G_A_Imprimer,{$X_H_G_A_Imprimer+$Largeur_A_Imprimer},$Y_H_G_A_Imprimer,{$X_H_G_A_Imprimer+$Largeur_A_Imprimer},{$Y_H_G_A_Imprimer+$Hauteur_A_Imprimer},$X_H_G_A_Imprimer,{$Y_H_G_A_Imprimer+$Hauteur_A_Imprimer},1,$R_b,$V_b,$B_b,$A_b
-endif
-if {$Affichage_Contours==1}
-polygon[-2] 4,$X_H_G_A_Imprimer,$Y_H_G_A_Imprimer,{$X_H_G_A_Imprimer+$Largeur_A_Imprimer},$Y_H_G_A_Imprimer,{$X_H_G_A_Imprimer+$Largeur_A_Imprimer},{$Y_H_G_A_Imprimer+$Hauteur_A_Imprimer},$X_H_G_A_Imprimer,{$Y_H_G_A_Imprimer+$Hauteur_A_Imprimer},1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Type_n==0}
Largeur_A_Imprimer={$Largeur_Rectangle_origine/{$Nb_boucles+1}}
Hauteur_A_Imprimer={$Hauteur_Rectangle_origine/{$Nb_boucles+1}}
-elif {$Type_n==1}
Largeur_A_Imprimer={$Largeur_A_Imprimer*0.9}
Hauteur_A_Imprimer={$Hauteur_A_Imprimer*0.9}
-elif {$Type_n==2}
Largeur_A_Imprimer={$Largeur_A_Imprimer*0.8}
Hauteur_A_Imprimer={$Hauteur_A_Imprimer*0.8}
-elif {$Type_n==3}
Largeur_A_Imprimer={$Largeur_A_Imprimer*0.7}
Hauteur_A_Imprimer={$Hauteur_A_Imprimer*0.7}
-elif {$Type_n==4}
Largeur_A_Imprimer={$Largeur_A_Imprimer*{?(0.7,0.9)}}
Hauteur_A_Imprimer={$Hauteur_A_Imprimer*{?(0.7,0.9)}}
-elif {$Type_n==5}
Largeur_A_Imprimer={$Largeur_Rectangle_origine/{$Nb_boucles+1}}
Hauteur_A_Imprimer={$Hauteur_A_Imprimer*0.9}
-elif {$Type_n==6}
Largeur_A_Imprimer={$Largeur_A_Imprimer*0.9}
Hauteur_A_Imprimer={$Hauteur_Rectangle_origine/{$Nb_boucles+1}}
-endif
-if {$Type_Contact==0} #h
X_H_G_A_Imprimer={$X_Contact-{$Largeur_A_Imprimer/2}}
Y_H_G_A_Imprimer=$Y_Contact
-elif {$Type_Contact==1} #b
X_H_G_A_Imprimer={$X_Contact-{$Largeur_A_Imprimer/2}}
Y_H_G_A_Imprimer={$Y_Contact-$Hauteur_A_Imprimer}
-elif {$Type_Contact==2} #g
X_H_G_A_Imprimer=$X_Contact
Y_H_G_A_Imprimer={$Y_Contact-{$Hauteur_A_Imprimer/2}}
-elif {$Type_Contact==3} #d
X_H_G_A_Imprimer={$X_Contact-$Largeur_A_Imprimer}
Y_H_G_A_Imprimer={$Y_Contact-{$Hauteur_A_Imprimer/2}}
-endif
-done
-if {$Affichage_Contours==1}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-if {$Angle_inclinaison>0} -rotate[-1] $Angle_inclinaison,1,0,{{w}/2},{{h}/2} -endif
-crop[-1] {{{w}-$Largeur_Origine}/2},{{{h}-$Hauteur_Origine}/2},{$Largeur_Origine+{{{w}-$Largeur_Origine-1}/2}-1},{$Hauteur_Origine+{{{h}-$Hauteur_Origine-1}/2}-1}
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Rectangles_Adjacents ##
## ##
#################################################
#################################################
## ##
## Linear_Gradient_CIE_Lab ##
## ##
#################################################
# 2014/04/28 limites Lab -128 127
# 2015/03/02 Swap colors = bool(0) fonctionne avec G'MIC version 1.6.1.0 beta
#@gimp Gradient CIE Lab [linear] : samj_Linear_Gradient_CIE_Lab, samj_Linear_Gradient_CIE_Lab(1)
#@gimp : note = link("http://samjcreations.blogspot.ca","http://samjcreations.blogspot.ca")
#@gimp : sep = separator(), note = note("D\303\251grad\303\251 / Gradient CIE Lab")
#@gimp : Type H / V = choice(0,"H","V")
#@gimp : Swap colors = bool(0)
#@gimp : Starting color A = color(240,40,160,255)
#@gimp : Ending color B = color(240,240,40,255)
#@gimp : sep = separator(), note = note("samj - Latest update : 2015/03/02.")
samj_Linear_Gradient_CIE_Lab :
Type_Degrade=$1
Swap_colors=$2
Ra=$3
Ga=$4
Ba=$5
Aa=$6
Rb=$7
Gb=$8
Bb=$9
Ab=$10
-if {$Swap_colors==1}
Ra=$7
Ga=$8
Ba=$9
Aa=$10
Rb=$3
Gb=$4
Bb=$5
Ab=$6
-endif
# Conversions RGB > XYZ http://www.newtone.fr/formules_conversion_colorimetrie.php
# Matrices http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
# couleur a Linear RGB
nt_Ra={$Ra/255}
nt_Ga={$Ga/255}
nt_Ba={$Ba/255}
-if {$nt_Ra>0.04045}
nt_Ra={{{$nt_Ra+0.055}/1.055}^2.4}
-else
nt_Ra={$nt_Ra/12.92}
-endif
-if {$nt_Ga>0.04045}
nt_Ga={{{$nt_Ga+0.055}/1.055}^2.4}
-else
nt_Ga={$nt_Ga/12.92}
-endif
-if {$nt_Ba>0.04045}
nt_Ba={{{$nt_Ba+0.055}/1.055}^2.4}
-else
nt_Ba={$nt_Ba/12.92}
-endif
nt_Ra={$nt_Ra*100}
nt_Ga={$nt_Ga*100}
nt_Ba={$nt_Ba*100}
#Observateur. = 2°, Illuminant = D65 sRGB
Xa={$nt_Ra*0.4124564+$nt_Ga*0.3575761+$nt_Ba*0.1804375}
Ya={$nt_Ra*0.2126729+$nt_Ga*0.7151522+$nt_Ba*0.0721750}
Za={$nt_Ra*0.0193339+$nt_Ga*0.1191920+$nt_Ba*0.9503041}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
Xca=$Xa
Yca=$Ya
Zca=$Za
ref_Xa=95.047
ref_Ya=100.000
ref_Za=108.883
nt_Xa={$Xca/$ref_Xa}
nt_Ya={$Yca/$ref_Ya}
nt_Za={$Zca/$ref_Za}
-if {$nt_Xa>0.008856}
nt_Xa={$nt_Xa^{1/3}}
-else
nt_Xa={{7.787*$nt_Xa}+{16/116}}
-endif
-if {$nt_Ya>0.008856}
nt_Ya={$nt_Ya^{1/3}}
-else
nt_Ya={{7.787*$nt_Ya}+{16/116}}
-endif
-if {$nt_Za>0.008856}
nt_Za={$nt_Za^{1/3}}
-else
nt_Za={{7.787*$nt_Za}+{16/116}}
-endif
CIE_La={{116*$nt_Ya}-16}
CIE_aa={500*{$nt_Xa-$nt_Ya}}
CIE_ba={200*{$nt_Ya-$nt_Za}}
# couleur b Linear RGB
nt_Ra={$Rb/255}
nt_Ga={$Gb/255}
nt_Ba={$Bb/255}
-if {$nt_Ra>0.04045}
nt_Ra={{{$nt_Ra+0.055}/1.055}^2.4}
-else
nt_Ra={$nt_Ra/12.92}
-endif
-if {$nt_Ga>0.04045}
nt_Ga={{{$nt_Ga+0.055}/1.055}^2.4}
-else
nt_Ga={$nt_Ga/12.92}
-endif
-if {$nt_Ba>0.04045}
nt_Ba={{{$nt_Ba+0.055}/1.055}^2.4}
-else
nt_Ba={$nt_Ba/12.92}
-endif
nt_Ra={$nt_Ra*100}
nt_Ga={$nt_Ga*100}
nt_Ba={$nt_Ba*100}
#Observateur. = 2°, Illuminant = D65 sRGB
Xb={$nt_Ra*0.4124564+$nt_Ga*0.3575761+$nt_Ba*0.1804375}
Yb={$nt_Ra*0.2126729+$nt_Ga*0.7151522+$nt_Ba*0.0721750}
Zb={$nt_Ra*0.0193339+$nt_Ga*0.1191920+$nt_Ba*0.9503041}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
Xca=$Xb
Yca=$Yb
Zca=$Zb
ref_Xa=95.047
ref_Ya=100.000
ref_Za=108.883
nt_Xa={$Xca/$ref_Xa}
nt_Ya={$Yca/$ref_Ya}
nt_Za={$Zca/$ref_Za}
-if {$nt_Xa>0.008856}
nt_Xa={$nt_Xa^{1/3}}
-else
nt_Xa={{7.787*$nt_Xa}+{16/116}}
-endif
-if {$nt_Ya>0.008856}
nt_Ya={$nt_Ya^{1/3}}
-else
nt_Ya={{7.787*$nt_Ya}+{16/116}}
-endif
-if {$nt_Za>0.008856}
nt_Za={$nt_Za^{1/3}}
-else
nt_Za={{7.787*$nt_Za}+{16/116}}
-endif
CIE_Lb={{116*$nt_Ya}-16}
CIE_ab={500*{$nt_Xa-$nt_Ya}}
CIE_bb={200*{$nt_Ya-$nt_Za}}
######
{w},{h},1,4
-rm[-2]
Nb_Boucles=0
Decalage_L=0
Decalage_a=0
Decalage_b=0
-if {$Type_Degrade==0}
Dimensions={w}
Inc_L={{$CIE_La-$CIE_Lb}/{w}}
Inc_a={{$CIE_aa-$CIE_ab}/{w}}
Inc_b={{$CIE_ba-$CIE_bb}/{w}}
Inc_Alpha={{$Ab-$Aa}/{w}}
-elif {$Type_Degrade==1}
Dimensions={h}
Inc_L={{$CIE_La-$CIE_Lb}/{h}}
Inc_a={{$CIE_aa-$CIE_ab}/{h}}
Inc_b={{$CIE_ba-$CIE_bb}/{h}}
Inc_Alpha={{$Ab-$Aa}/{h}}
-endif
-repeat $Dimensions
Aa={$Aa+$Inc_Alpha}
-if {$Aa>255} Aa=255 -endif
-if {$Aa<0} Aa=0 -endif
CIE_Lca={$CIE_La+$Decalage_L-{$Nb_Boucles*$Inc_L}}
CIE_aca={$CIE_aa+$Decalage_a-{$Nb_Boucles*$Inc_a}}
CIE_bca={$CIE_ba+$Decalage_b-{$Nb_Boucles*$Inc_b}}
-if {$CIE_Lca>100} CIE_Lca=100 -endif
-if {$CIE_Lca<0} CIE_Lca=0 -endif
-if {$CIE_aca>127} CIE_aca=127 -endif
-if {$CIE_aca<-128} CIE_aca=-128 -endif
-if {$CIE_bca>127} CIE_bca=127 -endif
-if {$CIE_bca<-128} CIE_bca=-128 -endif
# Conversions Lab > XYZ http://www.newtone.fr/formules_conversion_colorimetrie.php
nt_Yca={{$CIE_Lca+16}/116}
nt_Xca={$CIE_aca/500+$nt_Yca}
nt_Zca={$nt_Yca-$CIE_bca/200}
-if {{$nt_Yca^3}>0.008856}
nt_Yca={$nt_Yca^3}
-else
nt_Yca={{$nt_Yca-16/116}/7.787}
-endif
-if {{$nt_Xca^3}>0.008856}
nt_Xca={$nt_Xca^3}
-else
nt_Xca={{$nt_Xca-16/116}/7.787}
-endif
-if {{$nt_Zca^3}>0.008856}
nt_Zca={$nt_Zca^3}
-else
nt_Zca={{$nt_Zca-16/116}/7.787}
-endif
ref_Xca=95.047
ref_Yca=100.000
ref_Zca=108.883
Xca={$ref_Xca*$nt_Xca}
Yca={$ref_Yca*$nt_Yca}
Zca={$ref_Zca*$nt_Zca}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
# Matrices http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
vcXa=$Xca
vcYa=$Yca
vcZa=$Zca
nt_X={$vcXa/100} # X compris entre 0 et 95.047 ( Observateur = 2°, Illuminant = D65 )
nt_Y={$vcYa/100} # Y compris entre 0 et 100.000
nt_Z={$vcZa/100} # Z compris entre 0 et 108.883
nt_R={$nt_X*3.2404542+$nt_Y*-1.5371385+$nt_Z*-0.4985314}
nt_G={$nt_X*-0.9692660+$nt_Y*1.8760108+$nt_Z*0.0415560}
nt_B={$nt_X*0.0556434+$nt_Y*-0.2040259+$nt_Z*1.0572252}
-if {$nt_R>0.0031308}
nt_R={1.055*{$nt_R^{1/2.4}}-0.055}
-else
nt_R={12.92*$nt_R}
-endif
-if {$nt_G>0.0031308}
nt_G={1.055*{$nt_G^{1/2.4}}-0.055}
-else
nt_G={12.92*$nt_G}
-endif
-if {$nt_B>0.0031308}
nt_B={1.055*{$nt_B^{1/2.4}}-0.055}
-else
nt_B={12.92*$nt_B}
-endif
Rconv={$nt_R*255}
Gconv={$nt_G*255}
Bconv={$nt_B*255}
-if {$Rconv>255} Rconv=255 -endif
-if {$Rconv<0} Rconv=0 -endif
-if {$Gconv>255} Gconv=255 -endif
-if {$Gconv<0} Gconv=0 -endif
-if {$Bconv>255} Bconv=255 -endif
-if {$Bconv<0} Bconv=0 -endif
-if {$Type_Degrade==0}
-line[-1] $Nb_Boucles,0,$Nb_Boucles,{{h}-1},1,$Rconv,$Gconv,$Bconv,$Aa
-elif {$Type_Degrade==1}
-line[-1] 0,$Nb_Boucles,{{w}-1},$Nb_Boucles,1,$Rconv,$Gconv,$Bconv,$Aa
-endif
Nb_Boucles={$Nb_Boucles+1}
-done
#################################################
## ##
## FIN Linear_Gradient_CIE_Lab ##
## ##
#################################################
#################################################
## ##
## Shape_Linear_Gradient_CIE_Lab ##
## ##
#################################################
# 2014/04/29 limites Lab -128 127
# 2014/04/28 modification test -if {{$Type_Degrade==4}||{$Type_Degrade==5}} ajout Xf & Yf
#@gimp Gradient CIE Lab [shape] : samj_Shape_Linear_Gradient_CIE_Lab, samj_Shape_Linear_Gradient_CIE_Lab(1)
#@gimp : note = link("http://samjcreations.blogspot.ca","http://samjcreations.blogspot.ca")
#@gimp : note = note("D\303\251grad\303\251 / Gradient CIE Lab")
#@gimp : sep = separator(), note = note("Starting Point / Diameter :")
#@gimp : X0 = float(10,0,100)
#@gimp : Y0 = float(10,0,100)
#@gimp : Note = note("Ending Point / Center :")
#@gimp : X1 = float(90,0,100)
#@gimp : Y1 = float(90,0,100)
#@gimp : Note = note("Parameters :")
#@gimp : Shape = choice(2,"Linear H","Linear V","Square","Square Overflow","Circle X0","Circle X0+YO")
#@gimp : Swap colors = bool(0)
#@gimp : Starting color A = color(240,40,160,255)
#@gimp : Ending color B = color(240,240,40,255)
#@gimp : Background = choice(0,"Image","Transparent","Color")
#@gimp : Background color = color(0,0,0,255)
#@gimp : Examples = choice(0,"None","10 10 90 90 Linear H","10 10 90 90 Linear V","10 10 90 90 Square","10 10 90 90 Square Overflow","40 40 50 50 Circle X0","40 40 50 50 Circle X0+YO","71 71 100 100 Circle X0+YO")
#@gimp : sep = separator(), note = note("samj - Latest update : 2014/04/29.")
samj_Shape_Linear_Gradient_CIE_Lab :
Xo={round({{w}/100*$1})}
Yo={round({{h}/100*$2})}
Xf={round({{w}/100*$3})}
Yf={round({{h}/100*$4})}
Type_Degrade=$5
Swap_colors=$6
Ra=$7
Ga=$8
Ba=$9
Aa=$10
Rb=$11
Gb=$12
Bb=$13
Ab=$14
Background=$15
Rback=$16
Gback=$17
Bback=$18
Aback=$19
Examples=$20
-if {$Swap_colors==1}
Ra=$11
Ga=$12
Ba=$13
Aa=$14
Rb=$7
Gb=$8
Bb=$9
Ab=$10
-endif
-if {$Xo>$Xf}
Xo=$3
Xf=$1
-elif {$Xo==$Xf}
Xo={$Xf-1}
-endif
-if {$Yo>$Yf}
Yo=$4
Yf=$2
-elif {$Yo==$Yf}
Yo={$Yf-1}
-endif
-if {{$Type_Degrade==4}||{$Type_Degrade==5}}
Xo={round({{w}/100*$1})}
Yo={round({{h}/100*$2})}
Xf={round({{w}/100*$3})}
Yf={round({{h}/100*$4})}
-endif
-if {$Examples==1}
Xo={round({{w}*0.1})}
Yo={round({{h}*0.1})}
Xf={round({{w}*0.9})}
Yf={round({{h}*0.9})}
Type_Degrade=0
-elif {$Examples==2}
Xo={round({{w}*0.1})}
Yo={round({{h}*0.1})}
Xf={round({{w}*0.9})}
Yf={round({{h}*0.9})}
Type_Degrade=1
-elif {$Examples==3}
Xo={round({{w}*0.1})}
Yo={round({{h}*0.1})}
Xf={round({{w}*0.9})}
Yf={round({{h}*0.9})}
Type_Degrade=2
-elif {$Examples==4}
Xo={round({{w}*0.1})}
Yo={round({{h}*0.1})}
Xf={round({{w}*0.9})}
Yf={round({{h}*0.9})}
Type_Degrade=3
-elif {$Examples==5}
Xo={round({{w}*0.4})}
Yo={round({{h}*0.4})}
Xf={round({{w}*0.5})}
Yf={round({{h}*0.5})}
Type_Degrade=4
-elif {$Examples==6}
Xo={round({{w}*0.4})}
Yo={round({{h}*0.4})}
Xf={round({{w}*0.5})}
Yf={round({{h}*0.5})}
Type_Degrade=5
-elif {$Examples==7}
Xo={round({{w}*0.71})}
Yo={round({{h}*0.71})}
Xf={w}
Yf={h}
Type_Degrade=5
-endif
# Conversions RGB > XYZ http://www.newtone.fr/formules_conversion_colorimetrie.php
# Matrices http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
# couleur a Linear RGB
nt_Ra={$Ra/255}
nt_Ga={$Ga/255}
nt_Ba={$Ba/255}
-if {$nt_Ra>0.04045}
nt_Ra={{{$nt_Ra+0.055}/1.055}^2.4}
-else
nt_Ra={$nt_Ra/12.92}
-endif
-if {$nt_Ga>0.04045}
nt_Ga={{{$nt_Ga+0.055}/1.055}^2.4}
-else
nt_Ga={$nt_Ga/12.92}
-endif
-if {$nt_Ba>0.04045}
nt_Ba={{{$nt_Ba+0.055}/1.055}^2.4}
-else
nt_Ba={$nt_Ba/12.92}
-endif
nt_Ra={$nt_Ra*100}
nt_Ga={$nt_Ga*100}
nt_Ba={$nt_Ba*100}
#Observateur. = 2°, Illuminant = D65 sRGB
Xa={$nt_Ra*0.4124564+$nt_Ga*0.3575761+$nt_Ba*0.1804375}
Ya={$nt_Ra*0.2126729+$nt_Ga*0.7151522+$nt_Ba*0.0721750}
Za={$nt_Ra*0.0193339+$nt_Ga*0.1191920+$nt_Ba*0.9503041}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
Xca=$Xa
Yca=$Ya
Zca=$Za
ref_Xa=95.047
ref_Ya=100.000
ref_Za=108.883
nt_Xa={$Xca/$ref_Xa}
nt_Ya={$Yca/$ref_Ya}
nt_Za={$Zca/$ref_Za}
-if {$nt_Xa>0.008856}
nt_Xa={$nt_Xa^{1/3}}
-else
nt_Xa={{7.787*$nt_Xa}+{16/116}}
-endif
-if {$nt_Ya>0.008856}
nt_Ya={$nt_Ya^{1/3}}
-else
nt_Ya={{7.787*$nt_Ya}+{16/116}}
-endif
-if {$nt_Za>0.008856}
nt_Za={$nt_Za^{1/3}}
-else
nt_Za={{7.787*$nt_Za}+{16/116}}
-endif
CIE_La={{116*$nt_Ya}-16}
CIE_aa={500*{$nt_Xa-$nt_Ya}}
CIE_ba={200*{$nt_Ya-$nt_Za}}
# couleur b Linear RGB
nt_Ra={$Rb/255}
nt_Ga={$Gb/255}
nt_Ba={$Bb/255}
-if {$nt_Ra>0.04045}
nt_Ra={{{$nt_Ra+0.055}/1.055}^2.4}
-else
nt_Ra={$nt_Ra/12.92}
-endif
-if {$nt_Ga>0.04045}
nt_Ga={{{$nt_Ga+0.055}/1.055}^2.4}
-else
nt_Ga={$nt_Ga/12.92}
-endif
-if {$nt_Ba>0.04045}
nt_Ba={{{$nt_Ba+0.055}/1.055}^2.4}
-else
nt_Ba={$nt_Ba/12.92}
-endif
nt_Ra={$nt_Ra*100}
nt_Ga={$nt_Ga*100}
nt_Ba={$nt_Ba*100}
#Observateur. = 2°, Illuminant = D65 sRGB
Xb={$nt_Ra*0.4124564+$nt_Ga*0.3575761+$nt_Ba*0.1804375}
Yb={$nt_Ra*0.2126729+$nt_Ga*0.7151522+$nt_Ba*0.0721750}
Zb={$nt_Ra*0.0193339+$nt_Ga*0.1191920+$nt_Ba*0.9503041}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
Xca=$Xb
Yca=$Yb
Zca=$Zb
ref_Xa=95.047
ref_Ya=100.000
ref_Za=108.883
nt_Xa={$Xca/$ref_Xa}
nt_Ya={$Yca/$ref_Ya}
nt_Za={$Zca/$ref_Za}
-if {$nt_Xa>0.008856}
nt_Xa={$nt_Xa^{1/3}}
-else
nt_Xa={{7.787*$nt_Xa}+{16/116}}
-endif
-if {$nt_Ya>0.008856}
nt_Ya={$nt_Ya^{1/3}}
-else
nt_Ya={{7.787*$nt_Ya}+{16/116}}
-endif
-if {$nt_Za>0.008856}
nt_Za={$nt_Za^{1/3}}
-else
nt_Za={{7.787*$nt_Za}+{16/116}}
-endif
CIE_Lb={{116*$nt_Ya}-16}
CIE_ab={500*{$nt_Xa-$nt_Ya}}
CIE_bb={200*{$nt_Ya-$nt_Za}}
######
-if {$Background==1}
{w},{h},1,4
-rm[-2]
-elif {$Background==2}
{w},{h},1,4
-fill_color[-1] $Rback,$Gback,$Bback,$Aback
-rm[-2]
-endif
Nb_Boucles=0
-if {$Type_Degrade==0}
Dimensions={$Xf-$Xo}
-elif {$Type_Degrade==1}
Dimensions={$Yf-$Yo}
-elif {$Type_Degrade==2}
-if {{$Xf-$Xo}>{$Yf-$Yo}}
Dimensions={round({{$Yf-$Yo+1}/2})}
-else
Dimensions={round({{$Xf-$Xo+1}/2})}
-endif
-elif {$Type_Degrade==3}
-if {{$Xf-$Xo}>{$Yf-$Yo}}
Dimensions={round({{$Xf-$Xo+1}/2})}
-else
Dimensions={round({{$Yf-$Yo+1}/2})}
-endif
-elif {$Type_Degrade==4}
Dimensions=$Xo
-elif {$Type_Degrade==5}
Dimensions={$Xo+$Yo}
-endif
Inc_L={{$CIE_La-$CIE_Lb}/$Dimensions}
Inc_a={{$CIE_aa-$CIE_ab}/$Dimensions}
Inc_b={{$CIE_ba-$CIE_bb}/$Dimensions}
Inc_Alpha={{$Ab-$Aa}/$Dimensions}
Decalage_L=0
Decalage_a=0
Decalage_b=0
-repeat $Dimensions
Aa={$Aa+$Inc_Alpha}
-if {$Aa>255} Aa=255 -endif
-if {$Aa<0} Aa=0 -endif
CIE_Lca={$CIE_La+$Decalage_L-{$Nb_Boucles*$Inc_L}}
CIE_aca={$CIE_aa+$Decalage_a-{$Nb_Boucles*$Inc_a}}
CIE_bca={$CIE_ba+$Decalage_b-{$Nb_Boucles*$Inc_b}}
-if {$CIE_Lca>100} CIE_Lca=100 -endif
-if {$CIE_Lca<0} CIE_Lca=0 -endif
-if {$CIE_aca>127} CIE_aca=127 -endif
-if {$CIE_aca<-128} CIE_aca=-128 -endif
-if {$CIE_bca>127} CIE_bca=127 -endif
-if {$CIE_bca<-128} CIE_bca=-128 -endif
# Conversions Lab > XYZ http://www.newtone.fr/formules_conversion_colorimetrie.php
nt_Yca={{$CIE_Lca+16}/116}
nt_Xca={$CIE_aca/500+$nt_Yca}
nt_Zca={$nt_Yca-$CIE_bca/200}
-if {{$nt_Yca^3}>0.008856}
nt_Yca={$nt_Yca^3}
-else
nt_Yca={{$nt_Yca-16/116}/7.787}
-endif
-if {{$nt_Xca^3}>0.008856}
nt_Xca={$nt_Xca^3}
-else
nt_Xca={{$nt_Xca-16/116}/7.787}
-endif
-if {{$nt_Zca^3}>0.008856}
nt_Zca={$nt_Zca^3}
-else
nt_Zca={{$nt_Zca-16/116}/7.787}
-endif
ref_Xca=95.047
ref_Yca=100.000
ref_Zca=108.883
Xca={$ref_Xca*$nt_Xca}
Yca={$ref_Yca*$nt_Yca}
Zca={$ref_Zca*$nt_Zca}
# Conversions XYZ > Lab http://www.newtone.fr/formules_conversion_colorimetrie.php
# Matrices http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
vcXa=$Xca
vcYa=$Yca
vcZa=$Zca
nt_X={$vcXa/100} # X compris entre 0 et 95.047 ( Observateur = 2°, Illuminant = D65 )
nt_Y={$vcYa/100} # Y compris entre 0 et 100.000
nt_Z={$vcZa/100} # Z compris entre 0 et 108.883
nt_R={$nt_X*3.2404542+$nt_Y*-1.5371385+$nt_Z*-0.4985314}
nt_G={$nt_X*-0.9692660+$nt_Y*1.8760108+$nt_Z*0.0415560}
nt_B={$nt_X*0.0556434+$nt_Y*-0.2040259+$nt_Z*1.0572252}
-if {$nt_R>0.0031308}
nt_R={1.055*{$nt_R^{1/2.4}}-0.055}
-else
nt_R={12.92*$nt_R}
-endif
-if {$nt_G>0.0031308}
nt_G={1.055*{$nt_G^{1/2.4}}-0.055}
-else
nt_G={12.92*$nt_G}
-endif
-if {$nt_B>0.0031308}
nt_B={1.055*{$nt_B^{1/2.4}}-0.055}
-else
nt_B={12.92*$nt_B}
-endif
Rconv={$nt_R*255}
Gconv={$nt_G*255}
Bconv={$nt_B*255}
-if {$Rconv>255} Rconv=255 -endif
-if {$Rconv<0} Rconv=0 -endif
-if {$Gconv>255} Gconv=255 -endif
-if {$Gconv<0} Gconv=0 -endif
-if {$Bconv>255} Bconv=255 -endif
-if {$Bconv<0} Bconv=0 -endif
-if {$Type_Degrade==0}
-line[-1] {$Xo+$Nb_Boucles},$Yo,{$Xo+$Nb_Boucles},$Yf,1,$Rconv,$Gconv,$Bconv,$Aa
-elif {$Type_Degrade==1}
-line[-1] $Xo,{$Yo+$Nb_Boucles},$Xf,{$Yo+$Nb_Boucles},1,$Rconv,$Gconv,$Bconv,$Aa
-elif {$Type_Degrade==2}
-polygon[-1] 4,{$Xo+$Nb_Boucles},{$Yo+$Nb_Boucles},{$Xf-$Nb_Boucles},{$Yo+$Nb_Boucles},{$Xf-$Nb_Boucles},{$Yf-$Nb_Boucles},{$Xo+$Nb_Boucles},{$Yf-$Nb_Boucles},1,0xFFFFFFFF,$Rconv,$Gconv,$Bconv,$Aa
-elif {$Type_Degrade==3}
-polygon[-1] 4,{$Xo+$Nb_Boucles},{$Yo+$Nb_Boucles},{$Xf-$Nb_Boucles},{$Yo+$Nb_Boucles},{$Xf-$Nb_Boucles},{$Yf-$Nb_Boucles},{$Xo+$Nb_Boucles},{$Yf-$Nb_Boucles},1,0xFFFFFFFF,$Rconv,$Gconv,$Bconv,$Aa
-elif {$Type_Degrade==4}
-ellipse[-1] $Xf,$Yf,{$Dimensions-$Nb_Boucles},{$Dimensions-$Nb_Boucles},0,1,$Rconv,$Gconv,$Bconv,$Aa
-elif {$Type_Degrade==5}
-ellipse[-1] $Xf,$Yf,{$Dimensions-$Nb_Boucles},{$Dimensions-$Nb_Boucles},0,1,$Rconv,$Gconv,$Bconv,$Aa
-endif
Nb_Boucles={$Nb_Boucles+1}
-done
#################################################
## ##
## FIN Shape_Linear_Gradient_CIE_Lab ##
## ##
#################################################
#################################################
## ##
## Chryzodes_en ##
## ##
#################################################
# 2014/04/27 origine
# 2015/03/03 -gimp_blend[-2,-1] 1,0,1,0,1 remplace -blend[-2,-1] alpha,1,1
#@gimp Chryzodes : samj_Chryzodes, samj_Chryzodes(1)
#@gimp : note = link("http://www.chryzode.org/fr/ligne.htm","http://www.chryzode.org/fr/ligne.htm")
#@gimp : sep = separator(), note = note("New Image")
#@gimp : Image Dimensions = float(100,30,400)
#@gimp : Background Color = color(0,0,0,255)
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Examples = choice(0,"None","431/7/VC=0","353/3/VC=0","619/4/VC=0","691/12/VC=0","613/20/VC=0","358/13/VC=1","118/20/VC=1","699/6/VC=0")
#@gimp : X Position (%) = float(50,0,100)
#@gimp : Y Position (%) = float(50,0,100)
#@gimp : External Circle Radius = float(45,10,200)
#@gimp : Number of Points - Module = int(79,10,1080)
#@gimp : Multiplier = int(3,3,33)
#@gimp : First Point = int(1,1,1080)
#@gimp : Color Straight Lines = color(240,128,64,255)
#@gimp : Tilt Angle = float(0,-360,360)
#@gimp : Type Straight Lines = choice(0,"Lines Inside The Circle","Over The Entire Image")
#@gimp : Random colors = choice(0,"None","Variations","Lines")
#@gimp : sep = separator(), note = note("Variations Rendering Image Filter")
#@gimp : Variations A = int(0,0,1080)
#@gimp : Variations B = int(0,0,3)
#@gimp : Variation C = bool(0)
#@gimp : sep = separator(), note = note("Changes Rendering Image Filter")
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Draw The Circle = bool(0)
#@gimp : sep = separator(), note = note("samj - Latest update : 2015/03/03.")
samj_Chryzodes :
Dimension={round({{max({w},{h})}*$1/100})}
R_fond=$2
V_fond=$3
B_fond=$4
A_fond=$5
Demo=$6
X={round({$Dimension*{$7/100}})}
Y={round({$Dimension*{$8/100}})}
Rayon_Cercle={round({$Dimension*$9/100})}
Nb_Points=$10
Multiplicateur=$11
Premier_Point=$12
R_l=$13
V_l=$14
B_l=$15
A_l=$16
Angle_Inclinaison=$17
Type_De_Lignes=$18
Couleurs_aleatoires=$19
Variations_A=$20
Variations_B=$21
Variations_C=$22
Flou=$23
Dilatation=$24
Deformation=$25
Bruit=$26
Tracer_Cercle=$27
-if {$Demo==1}
Nb_Points=431
Multiplicateur=7
Variations_A=0
Variations_B=0
Variations_C=0
-elif {$Demo==2}
Nb_Points=353
Multiplicateur=3
Variations_A=0
Variations_B=0
Variations_C=0
-elif {$Demo==3}
Nb_Points=619
Multiplicateur=4
Variations_A=0
Variations_B=0
Variations_C=0
-elif {$Demo==4}
Nb_Points=691
Multiplicateur=12
Variations_A=0
Variations_B=0
Variations_C=0
-elif {$Demo==5}
Nb_Points=613
Multiplicateur=20
Variations_A=0
Variations_B=0
Variations_C=0
-elif {$Demo==6}
Nb_Points=358
Multiplicateur=13
Variations_A=0
Variations_B=0
Variations_C=1
-elif {$Demo==7}
Nb_Points=118
Multiplicateur=20
Variations_A=0
Variations_B=0
Variations_C=1
-elif {$Demo==8}
Nb_Points=699
Multiplicateur=6
Variations_A=0
Variations_B=0
Variations_C=0
Demo=8
-endif
Largeur_Origine={w}
Hauteur_Origine={h}
Angle_Base={360/$Nb_Points}
Point_Origine=0
Sortie_Boucle_Lignes=0
Nb_Boucle_Lignes=0
Nb_Boucle_Points=0
Point_A=0
Angle_A=0
X_Imp_A=0
Y_Imp_A=0
Point_B=0
Angle_B=0
X_Imp_B=0
Y_Imp_B=0
a_Ligne=0
b_Ligne=0
X_Ex_a=0
Y_Ex_a=0
X_Ex_b=0
Y_Ex_b=0
-if {$Variations_A==0}
Boucles_Rendu=1
Variations_A=1
-else
Boucles_Rendu=2
-endif
-rm[-1]
$Dimension,$Dimension,1,4
-fill_color[-1] 0,0,0,0
Point_A=$Premier_Point
Angle_A={$Angle_Base*$Point_A}
X_Imp_A={$X+{$Rayon_Cercle*{cos({pi/180*{$Angle_A+$Angle_Inclinaison}})}}}
Y_Imp_A={$Y+{$Rayon_Cercle*{sin({pi/180*{$Angle_A+$Angle_Inclinaison}})}}}
Point_Origine=$Point_A
test=0
-repeat {$Boucles_Rendu+$Variations_B}
-if {$Couleurs_aleatoires==1}
R_l={round(?(0,255))}
V_l={round(?(0,255))}
B_l={round(?(0,255))}
-endif
-do
-if {$Couleurs_aleatoires==2}
R_l={round(?(0,255))}
V_l={round(?(0,255))}
B_l={round(?(0,255))}
-endif
-if {$Variations_C==0}
Point_B={{$Point_A*$Multiplicateur}%$Nb_Points}
-else
Point_B={{$Point_A*$Multiplicateur*2}%$Nb_Points}
-endif
Angle_B={$Angle_Base*$Point_B}
X_Imp_B={$X+{$Rayon_Cercle*{cos({pi/180*{$Angle_B+$Angle_Inclinaison}})}}}
Y_Imp_B={$Y+{$Rayon_Cercle*{sin({pi/180*{$Angle_B+$Angle_Inclinaison}})}}}
-if {$Type_De_Lignes==1} # Lignes Avec Parametres sur toute l'image
-if {{round({$X_Imp_A*1000000000000})}=={round({$X_Imp_B*1000000000000})}}
X_Ex_a=$X_Imp_A
Y_Ex_a=0
X_Ex_b=$X_Imp_B
Y_Ex_b={$Dimension-1}
-line[-1] $X_Ex_a,$Y_Ex_a,$X_Ex_b,$Y_Ex_b,1,$R_l,$V_l,$B_l,$A_l
-else
a_Ligne={{$Y_Imp_B-$Y_Imp_A}/{$X_Imp_B-$X_Imp_A}}
b_Ligne={$Y_Imp_B-{$a_Ligne*$X_Imp_B}}
X_Ex_a=0
Y_Ex_a=$b_Ligne
X_Ex_b={$Dimension-1}
Y_Ex_b={{$a_Ligne*$X_Ex_b}+$b_Ligne}
-line[-1] $X_Ex_a,$Y_Ex_a,$X_Ex_b,$Y_Ex_b,1,$R_l,$V_l,$B_l,$A_l
-endif
-else
-line[-1] $X_Imp_A,$Y_Imp_A,$X_Imp_B,$Y_Imp_B,1,$R_l,$V_l,$B_l,$A_l
-endif
# sorties
-if {{$Point_B}=={$Point_Origine}} Sortie_Boucle_Lignes=1 -endif
-if {{$Nb_Boucle_Lignes}>{$Nb_Points*$Multiplicateur}} Sortie_Boucle_Lignes=1 -endif
-if {$Variations_C==1}
-if {{$Nb_Boucle_Lignes}>{$Nb_Points}} Sortie_Boucle_Lignes=1 -endif
-endif
Point_A=$Point_B
X_Imp_A=$X_Imp_B
Y_Imp_A=$Y_Imp_B
Nb_Boucle_Lignes={$Nb_Boucle_Lignes+1}
-while {$Sortie_Boucle_Lignes==0}
Nb_Boucle_Points={$Nb_Boucle_Points+1}
Point_A={$Premier_Point+{1/$Nb_Points*$Nb_Boucle_Points/$Variations_A}}
Angle_A={$Angle_Base*$Point_A}
X_Imp_A={$X+{$Rayon_Cercle*{cos({pi/180*{$Angle_A+$Angle_Inclinaison}})}}}
Y_Imp_A={$Y+{$Rayon_Cercle*{sin({pi/180*{$Angle_A+$Angle_Inclinaison}})}}}
Point_Origine=$Point_A
Sortie_Boucle_Lignes=0
Nb_Boucle_Lignes=0
-done
-if {$Tracer_Cercle==1}
-ellipse[-1] $X,$Y,$Rayon_Cercle,$Rayon_Cercle,0,1,0xFFFFFFFF,$R_l,$V_l,$B_l,$A_l
-endif
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
$Dimension,$Dimension,1,4
-fill_color[-1] $R_fond,$V_fond,$B_fond,$A_fond
-gimp_blend[-2,-1] 1,0,1,0,1
#################################################
## ##
## FIN Chryzodes_en ##
## ##
#################################################
#################################################
## ##
## Cercles_Qui_Tournent ##
## ##
#################################################
# 2015/03/05 liens vers blog supprimés, gimp_blend remplace blend, modification de l'ordre des paramètres, changement de nom : Rotating Circles remplace Cercles_Qui_Tournent.
# 2014/04/19 ajout de valeurs négatives pour Vbx Vcx Vby Vcy + modification bruit
# 2014/04/18 origine + ajout 3 exemples C D E
#@gimp Rotating Circles : samj_Cercles_Qui_Tournent, samj_Cercles_Qui_Tournent(1)
#@gimp : note = note("Cercles Qui Tournent / Rotating Circles")
#@gimp : note = link("http://rouxjeanbernard.ch/AM/html/amch57.html","http://rouxjeanbernard.ch/AM/html/amch57.html")
#@gimp : sep = separator(), note = note("Nouvelle New Image")
#@gimp : Dimension Image = int(800,2,32768)
#@gimp : Fond / Background = color(255,255,255,255)
#@gimp : sep = separator(), note = note("Exemples Examples")
#@gimp : Examples = choice(0,"Non No","A","B","C","D","E","F")
#@gimp : sep = separator(), note = note("Param. X")
#@gimp : Cax = float(1,0.5,2)
#@gimp : Cbx = float(0.5,0.05,5)
#@gimp : Ccx = float(0.33,0.05,5)
#@gimp : Vbx = int(7,-50,50)
#@gimp : Vcx = int(17,-50,50)
#@gimp : sep = separator(), note = note("Param. Y")
#@gimp : Cay = float(1,0.5,2)
#@gimp : Cby = float(0.5,0.05,5)
#@gimp : Ccy = float(0.33,0.05,5)
#@gimp : Vby = int(7,-50,50)
#@gimp : Vcy = int(17,-50,50)
#@gimp : sep = separator(), note = note("Rendu Rendering")
#@gimp : \303\211galite / Equality : Param. X & Param. Y = bool(1)
#@gimp : Th\303\252ta = int(10,1,5000)
#@gimp : Ligne / Line = color(0,0,0,255)
#@gimp : Angle Inclinaison = float(0,-360,360)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,200)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/05.")
samj_Cercles_Qui_Tournent :
Dimension=$1
R_fond=$2
V_fond=$3
B_fond=$4
A_fond=$5
Exemples=$6
Cax=$7
Cbx=$8
Ccx=$9
Vbx=$10
Vcx=$11
Cay=$12
Cby=$13
Ccy=$14
Vby=$15
Vcy=$16
Egalite_Param_X_Y=$17
Theta=$18
R_a=$19
V_a=$20
B_a=$21
A_a=$22
Angle_Rotation=$23
Couleurs_aleatoires=$24
Flou=$25
Dilatation=$26
Deformation=$27
Bruit=$28
Ombre=$29
X_Ombre=$30
Y_Ombre=$31
Smoothness_Ombre=$32
Curvature_Ombre=$33
-if {$Exemples==1}
Egalite_Param_X_Y=1
Cax=1
Cbx=0.5
Ccx=0.25
Vbx=7
Vcx=21
Theta=1000
-elif {$Exemples==2}
Egalite_Param_X_Y=1
Cax=1
Cbx=5
Ccx=2
Vbx=3
Vcx=10
Theta=4693
-elif {$Exemples==3}
Egalite_Param_X_Y=0
Cax=1
Cbx=0.5
Ccx=0.33
Vbx=7
Vcx=17
Cay=1
Cby=0.5
Ccy=0.33
Vby=11
Vcy=17
Theta=4886
-elif {$Exemples==4}
Egalite_Param_X_Y=0
Cax=1
Cbx=0.5
Ccx=0.33
Vbx=7
Vcx=17
Cay=1
Cby=0.5
Ccy=0.33
Vby=7
Vcy=3
Theta=4520
-elif {$Exemples==5}
Egalite_Param_X_Y=0
Cax=1
Cbx=0.5
Ccx=0.25
Vbx=1
Vcx=6
Cay=0.8
Cby=0.2
Ccy=1
Vby=9
Vcy=12
Theta=493
-elif {$Exemples==6}
Egalite_Param_X_Y=1
Cax=1
Cbx=0.5
Ccx=0.33
Vbx=-5
Vcx=17
Theta=10
-endif
-if {$Egalite_Param_X_Y==1}
Cay=$Cax
Cby=$Cbx
Ccy=$Ccx
Vby=$Vbx
Vcy=$Vcx
-endif
-rm[-1]
$Dimension,$Dimension,1,4
-fill_color[-1] 0,0,0,0
# tracer la courbe en couleur noire sans Antialiasing , sans Decoration , X(t) : cos(t)+(0.5*cos(7*t))+((cos((3.14/2)-(17*t)))/3) , Y(t) : (sin(t)+(0.5*sin(7*t))+((sin((3.14/2)-(17*t)))/3)
-gimp_equation_parametric[-1] "(cos(t)*"$Cax")+("$Cbx"*cos("$Vbx"*t))+((cos(("{pi/2}")-("$Vcx"*t)))*"$Ccx")","(sin(t)*"$Cay")+("$Cby"*sin("$Vby"*t))+((sin(("{pi/2}")-("$Vcy"*t)))*"$Ccy")",0,$Theta,$Dimension,1,1,0,0,0,0,0,0,1,0,0
-to_rgba[-1]
-replace_color[-1] 100%,0,255,255,255,255,0,0,0,0 # transparence
-replace_color[-1] 100%,0,0,0,0,255,$R_a,$V_a,$B_a,$A_a # couleur de la courbe
-if {$Couleurs_aleatoires==0}
-replace_color[-1] 100%,0,0,0,0,255,$R_a,$V_a,$B_a,$A_a # couleur de la courbe
-else
$Dimension,$Dimension,1,4
-fill_color[-1] 0,0,0,0
-gimp_corner_gradient[-1] {round(?(0,255))},{round(?(0,255))},{round(?(0,255))},255,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))},255,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))},255,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))},255
-blend[-1,-2] add,1,0
-to_rgba[-1]
-endif
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-endif
-if {$Angle_Rotation>0} -rotate[-1] $Angle_Rotation,1,0,{$Dimension/2},{$Dimension/2} -endif
$Dimension,$Dimension,1,4
-fill_color[-1] $R_fond,$V_fond,$B_fond,$A_fond
-if {$Bruit>0} -apply_channels[-1] "-gimp_noise "$Bruit",0,22,1",1 -endif
#-blend[-2,-1] alpha,1,1
-gimp_blend[-2,-1] 1,0,1,0,1
#################################################
## ##
## FIN Cercles_Qui_Tournent ##
## ##
#################################################
#################################################
## ##
## samj_Lignes_Epaisseur_Variable ##
## ##
#################################################
# 2015/03/05 changement de nom, modification et traduction menu
# 2014/04/12 origine Test_2_Map_Sprites
#@gimp Lines of varying thickness : samj_Lignes_Epaisseur_Variable, samj_Lignes_Epaisseur_Variable(1)
#@gimp : note = note("Lignes \303\211paisseur Variable / Lines Of Varying Thickness")
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Orientation Lignes / Lines = choice(0,"Vertical lines","Horizontal lines")
#@gimp : R\303\251solution Largeur / Width = int(32,16,64)
#@gimp : \303\211paisseur Ligne / Line Thickness = int(3,1,7)
#@gimp : Fond / Background = color(0,0,0,255)
#@gimp : Ligne / Line = color(255,255,255,255)
#@gimp : Inverser Fond-Ligne / Invert Background-Line = bool(0)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Resize = choice(1,"Non / No","Dim. Origines")
#@gimp : Flou / Blur = int(0,0,200)
#@gimp : Deblur = int(0,0,48)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation / Deform = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/05.")
samj_Lignes_Epaisseur_Variable :
Motif_Sprite=$1
Resolution_Largeur=$2
Trait_Largeur=$3
R_fond=$4
V_fond=$5
B_fond=$6
A_fond=$7
R_a=$8
V_a=$9
B_a=$10
A_a=$11
Inverser_Fond_Trait=$12
Couleurs_aleatoires=$13
Resize_Image=$14
Antialiasing=$15
R_Deblur=$16
Dilatation=$17
Deformation=$18
Bruit=$19
Ombre=$20
X_Ombre=$21
Y_Ombre=$22
Smoothness_Ombre=$23
Curvature_Ombre=$24
Canal_Alpha=$25
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_boucles=0
Nb_boucles_motif=0
Origine_Trait=0
-if {$Inverser_Fond_Trait==0}
R_F=$R_fond
V_F=$V_fond
B_F=$B_fond
A_F=$A_fond
R_M=$R_a
V_M=$V_a
B_M=$B_a
A_M=$A_a
-else
R_F=$R_a
V_F=$V_a
B_F=$B_a
A_F=$A_a
R_M=$R_fond
V_M=$V_fond
B_M=$B_fond
A_M=$A_fond
-endif
Largeur_Sprite={{7*2}+{7*$Trait_Largeur}}
Hauteur_Sprite=$Largeur_Sprite
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-resize[-1] $Resolution_Largeur,{round({$Hauteur_Origine/$Largeur_Origine*$Resolution_Largeur})}
-repeat 7
Nb_boucles={$Nb_boucles+1}
-if {$Nb_boucles==1}
-if {$Couleurs_aleatoires==1}
R_F={round(?(0,255))}
V_F={round(?(0,255))}
B_F={round(?(0,255))}
-endif
$Largeur_Sprite,$Hauteur_Sprite,1,4
-fill_color[-1] $R_F,$V_F,$B_F,$A_F
-endif
-if {$Couleurs_aleatoires==1}
R_F={round(?(0,255))}
V_F={round(?(0,255))}
B_F={round(?(0,255))}
R_M={round(?(0,255))}
V_M={round(?(0,255))}
B_M={round(?(0,255))}
-endif
$Largeur_Sprite,$Hauteur_Sprite,1,4
-fill_color[-1] $R_F,$V_F,$B_F,$A_F
Nb_boucles_motif=0
-if {{$Motif_Sprite==0}||{$Motif_Sprite==1}}
Origine_Trait={round({{$Largeur_Sprite-{$Trait_Largeur*$Nb_boucles}}/2})}
-repeat {$Trait_Largeur*$Nb_boucles}
-line[-1] {$Origine_Trait+$Nb_boucles_motif},0,{$Origine_Trait+$Nb_boucles_motif},{$Hauteur_Sprite-1},1,$R_M,$V_M,$B_M,$A_M
Nb_boucles_motif={$Nb_boucles_motif+1}
-done
-endif
-done
-if {$Motif_Sprite==1}
-rotate[-1,-2,-3,-4,-5,-6,-7,-8] 90,0,0
-endif
-map_sprites[-1,-2,-3,-4,-5,-6,-7,-8,-9] 8,0
-if {$Resize_Image==1}
-resize[-1] $Largeur_Origine,$Hauteur_Origine
-endif
-if {$Antialiasing>0} -apply_channels[-1] "-smooth "$Antialiasing",0.7,0.3,0.6,5,5,0",1 -endif
-if {$R_Deblur>0} -apply_channels[-1] "-deblur "$R_Deblur",10,20,0.1,1",1 -endif
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-endif
#################################################
## ##
## FIN samj_Lignes_Epaisseur_Variable ##
## ##
#################################################
################################################################
## ##
## Ensemble Polygones / Figures géométriques ##
## ##
################################################################
# Idée générale
# Les polygones sont construits autour de 2 cercles concentriques.
# janvier 2014 ajout calque transparent + dilate + blend
# Dessiner un polygone version G'MIC le 29 août 2012
# 2014/04/24 blend
# 2014/07/03 modification gimp_blend
# 2015/03/08 nouvelle façon d'appeler gimp_blend, preview , dimension en % largeur ou hauteur , simplifier blend
#@gimp Dessiner un polygone / Draw a polygon : samj_dessiner_un_polygone, samj_dessiner_un_polygone(1)
#@gimp : sep = separator(), note = note("Polygone / Polygone")
#@gimp : Nombre de c\303\264t\303\251s / Number of sides = int(5,3,90)
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Angle inclinaison = float(0,0,120)
#@gimp : Rayon cercle circonscrit / Circumcircle radius (>0 W%) (<0 H%) = float(40,-400,400)
#@gimp : Rayon cercle int\303\251rieur / Inner circle radius (%) = float(50,0,100)
#@gimp : Remplir polygone ext\303\251rieur / Fill = bool(1)
#@gimp : Couleur polygone ext\303\251rieur = color(255,255,0)
#@gimp : Contour polygone ext\303\251rieur = bool(0)
#@gimp : Couleur contour polygone ext\303\251rieur = color(0,0,0)
#@gimp : Remplir polygone int\303\251rieur / Fill = bool(1)
#@gimp : Couleur polygone int\303\251rieur = color(0,0,255)
#@gimp : Contour polygone int\303\251rieur = bool(0)
#@gimp : Couleur contour polygone int\303\251rieur = color(0,255,0)
#@gimp : Variation de couleur / Color variation = choice("Pas de variation / No change","Couleurs aleatoires / Random colors","Faiblement nuancee / Poorly nuanced","Moyennement nuancee / Moderately nuanced","Fortement nuancee / Highly nuanced")
#@gimp : sep = separator(), note = note("cercles / circles")
#@gimp : Remplir cercle int\303\251rieur / Fill = bool(0)
#@gimp : Couleur cercle int\303\251rieur = color(127,127,127)
#@gimp : Contour cercle int\303\251rieur = bool(0)
#@gimp : Couleur contour cercle int\303\251rieur = color(0,0,0)
#@gimp : Remplir cercle ext\303\251rieur / Fill = bool(0)
#@gimp : Couleur cercle ext\303\251rieur = color(255,255,255)
#@gimp : Contour cercle ext\303\251rieur = bool(0)
#@gimp : Couleur contour cercle ext\303\251rieur = color(0,0,0)
#@gimp : Dilatation (\303\251paisseur) = int(1,1,48)
#@gimp : sep = separator(), note = note("Transparence / Transparency")
#@gimp : Transparence des couleurs / Color transparency = int(255,0,255)
#@gimp : sep = separator(), note = note("Divers / Foo")
#@gimp : Flou / Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : D\303\251formation = float(0,0,25)
#@gimp : sep = separator(), note = note("M\303\251lange / Blend")
#@gimp : Mode = choice(1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/08.")
samj_dessiner_un_polygone:
Nombre_de_cotes=$1
X_centre_cercle_circonscrit={$2/100*w}
Y_centre_cercle_circonscrit={$3/100*h}
Angle_inclinaison=$4
-if {$5>0}
Rayon_cercle_circonscrit={round({{w}*$5/{100}})}
-else
Rayon_cercle_circonscrit={round({-{h}*$5/{100}})}
-endif
Rayon_cercle_interieur={round({$Rayon_cercle_circonscrit/100*$6})}
Remplir_polygone_exterieur=$7
## ATTENTION variables $8,$9,$10 utilisées + loin dans le script
R_Couleur_polygone_exterieur=$8
V_Couleur_polygone_exterieur=$9
B_Couleur_polygone_exterieur=$10
Contour_polygone_exterieur=$11
R_Couleur_contour_polygone_exterieur=$12
V_Couleur_contour_polygone_exterieur=$13
B_Couleur_contour_polygone_exterieur=$14
Remplir_polygone_interieur=$15
## ATTENTION variables $16,$17,$18 utilisées + loin dans le script
R_Couleur_polygone_interieur=$16
V_Couleur_polygone_interieur=$17
B_Couleur_polygone_interieur=$18
Contour_polygone_interieur=$19
R_Couleur_contour_polygone_interieur=$20
V_Couleur_contour_polygone_interieur=$21
B_Couleur_contour_polygone_interieur=$22
Variation_de_couleur=$23
Remplir_cercle_interieur=$24
R_CI_plein=$25
V_CI_plein=$26
B_CI_plein=$27
Contour_cercle_interieur=$28
R_CI_contour=$29
V_CI_contour=$30
B_CI_contour=$31
Remplir_cercle_exterieur=$32
R_CE_plein=$33
V_CE_plein=$34
B_CE_plein=$35
Contour_cercle_exterieur=$36
R_CE_contour=$37
V_CE_contour=$38
B_CE_contour=$39
Valeur_dilate_circ=$40
Transparence_des_couleurs=$41
Flou_polygone=$42
Spread_polygone=$43
Deform_polygone=$44
blend=$45
{w},{h},1,4
-fill_color[-1] 0,0,0,0
## Cercle circonscrit ##
-if {$Remplir_cercle_exterieur==1}
## tracer le cercle circonscrit plein
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_circonscrit,$Rayon_cercle_circonscrit,0,1,$R_CE_plein,$V_CE_plein,$B_CE_plein,$Transparence_des_couleurs
-endif
## Cercle circonscrit ##
-if {$Contour_cercle_exterieur==1}
## tracer le cercle circonscrit contour
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_circonscrit,$Rayon_cercle_circonscrit,0,1,0xFFFFFF,$R_CE_contour,$V_CE_contour,$B_CE_contour,$Transparence_des_couleurs
-endif
## Polygones ##
Increment_angle={360/$Nombre_de_cotes}
Nb_boucle=$Nombre_de_cotes
-do
## remplir couleur unie
-if {$Variation_de_couleur==0}
## point extérieur ##
X_point_exterieur={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{cos({pi/180*{$Increment_angle+$Angle_inclinaison+{360/$Nombre_de_cotes}}})}})}}
Y_point_exterieur={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{sin({pi/180*{$Increment_angle+$Angle_inclinaison+{360/$Nombre_de_cotes}}})}})}}
## point intérieur ##
X_point_interieur={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{cos({pi/180*{$Increment_angle+$Angle_inclinaison+{360/$Nombre_de_cotes}}})}})}}
Y_point_interieur={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{sin({pi/180*{$Increment_angle+$Angle_inclinaison+{360/$Nombre_de_cotes}}})}})}}
## incrémenter les variables de positionnement des points
-if {$Nb_boucle==$Nombre_de_cotes}
Points_polygone_exterieur=$X_point_exterieur,$Y_point_exterieur
Points_polygone_interieur=$X_point_interieur,$Y_point_interieur
-else
Points_polygone_exterieur=$Points_polygone_exterieur,$X_point_exterieur,$Y_point_exterieur
Points_polygone_interieur=$Points_polygone_interieur,$X_point_interieur,$Y_point_interieur
-endif
## tracer le polygone à la fin
-if {$Nb_boucle==1}
## Tracer les polygones + cercle intérieur
-if {$Remplir_polygone_exterieur==1}
## plein
-polygon[-1] $Nombre_de_cotes,$Points_polygone_exterieur,1,$R_Couleur_polygone_exterieur,$V_Couleur_polygone_exterieur,$B_Couleur_polygone_exterieur,$Transparence_des_couleurs
-endif
-if {$Contour_polygone_exterieur==1}
## contour
-polygon[-1] $Nombre_de_cotes,$Points_polygone_exterieur,1,0xFFFFFF,$R_Couleur_contour_polygone_exterieur,$V_Couleur_contour_polygone_exterieur,$B_Couleur_contour_polygone_exterieur,$Transparence_des_couleurs
-endif
## Cercle intérieur ##
-if {$Remplir_cercle_interieur==1}
## tracer le cercle intérieur plein
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_interieur,$Rayon_cercle_interieur,0,1,$R_CI_plein,$V_CI_plein,$B_CI_plein,$Transparence_des_couleurs
-endif
## Cercle intérieur ##
-if {$Contour_cercle_interieur==1}
## tracer le cercle intérieur contour
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_interieur,$Rayon_cercle_interieur,0,1,0xFFFFFF,$R_CI_contour,$V_CI_contour,$B_CI_contour,$Transparence_des_couleurs
-endif
-if {$Remplir_polygone_interieur==1}
## plein
-polygon[-1] $Nombre_de_cotes,$Points_polygone_interieur,1,$R_Couleur_polygone_interieur,$V_Couleur_polygone_interieur,$B_Couleur_polygone_interieur,$Transparence_des_couleurs
-endif
-if {$Contour_polygone_interieur==1}
## contour
-polygon[-1] $Nombre_de_cotes,$Points_polygone_interieur,1,0xFFFFFF,$R_Couleur_contour_polygone_interieur,$V_Couleur_contour_polygone_interieur,$B_Couleur_contour_polygone_interieur,$Transparence_des_couleurs
-endif
-endif
-endif
## Décomposition en triangles
## remplir couleurs aléatoires
-if {$Variation_de_couleur==1}
## triangle 2 points extérieurs ##
X_point_exterieur_1={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{cos({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
Y_point_exterieur_1={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{sin({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
X_point_exterieur_2={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{cos({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
Y_point_exterieur_2={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{sin({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
## vérification points
##-ellipse[-1] $X_point_exterieur_1,$Y_point_exterieur_1,5,5,0,1,127,127,127,255
##-ellipse[-1] $X_point_exterieur_2,$Y_point_exterieur_2,5,5,0,1,127,127,127,255
-if {$Remplir_polygone_exterieur==1}
## plein
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_exterieur_1,$Y_point_exterieur_1,$X_point_exterieur_2,$Y_point_exterieur_2,1,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))},$Transparence_des_couleurs
-endif
-if {$Contour_polygone_exterieur==1}
## contour
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_exterieur_1,$Y_point_exterieur_1,$X_point_exterieur_2,$Y_point_exterieur_2,1,0xFFFFFF,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))},$Transparence_des_couleurs
-endif
## triangle 2 points intérieurs ##
X_point_interieur_1={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{cos({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
Y_point_interieur_1={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{sin({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
X_point_interieur_2={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{cos({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
Y_point_interieur_2={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{sin({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
## vérification points
##-ellipse[-1] $X_point_interieur_1,$Y_point_interieur_1,5,5,0,1,127,127,127,255
##-ellipse[-1] $X_point_interieur_2,$Y_point_interieur_2,5,5,0,1,127,127,127,255
-if {$Remplir_polygone_interieur==1}
## plein
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_interieur_1,$Y_point_interieur_1,$X_point_interieur_2,$Y_point_interieur_2,1,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))},$Transparence_des_couleurs
-endif
-if {$Contour_polygone_interieur==1}
## contour
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_interieur_1,$Y_point_interieur_1,$X_point_interieur_2,$Y_point_interieur_2,1,0xFFFFFF,{round(?(0,255))},{round(?(0,255))},{round(?(0,255))},$Transparence_des_couleurs
-endif
## tracer le cercle intérieur à la fin
-if {$Nb_boucle==1}
-if {$Remplir_cercle_interieur==1}
## tracer le cercle intérieur plein
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_interieur,$Rayon_cercle_interieur,0,1,$R_CI_plein,$V_CI_plein,$B_CI_plein,$Transparence_des_couleurs
-endif
## Cercle intérieur ##
-if {$Contour_cercle_interieur==1}
## tracer le cercle intérieur contour
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_interieur,$Rayon_cercle_interieur,0,1,0xFFFFFF,$R_CI_contour,$V_CI_contour,$B_CI_contour,$Transparence_des_couleurs
-endif
-endif
-endif
## Décomposition en triangles
## couleurs nuancées
-if {$Variation_de_couleur>1}
Valeur_variation_couleur=16
-if {$Variation_de_couleur==3}
Valeur_variation_couleur=32
-endif
-if {$Variation_de_couleur==4}
Valeur_variation_couleur=64
-endif
R_Couleur_polygone_exterieur={round({$8+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$R_Couleur_polygone_exterieur>255}
R_Couleur_polygone_exterieur=$8
-endif
-if {$R_Couleur_polygone_exterieur<0}
R_Couleur_polygone_exterieur=$8
-endif
V_Couleur_polygone_exterieur={round({$9+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$V_Couleur_polygone_exterieur>255}
V_Couleur_polygone_exterieur=$9
-endif
-if {$V_Couleur_polygone_exterieur<0}
V_Couleur_polygone_exterieur=$9
-endif
B_Couleur_polygone_exterieur={round({$10+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$B_Couleur_polygone_exterieur>255}
B_Couleur_polygone_exterieur=$10
-endif
-if {$B_Couleur_polygone_exterieur<0}
B_Couleur_polygone_exterieur=$10
-endif
R_Couleur_polygone_interieur={round({$16+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$R_Couleur_polygone_interieur>255}
R_Couleur_polygone_interieur=$16
-endif
-if {$R_Couleur_polygone_interieur<0}
R_Couleur_polygone_interieur=$16
-endif
V_Couleur_polygone_interieur={round({$17+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$V_Couleur_polygone_interieur>255}
V_Couleur_polygone_interieur=$17
-endif
-if {$V_Couleur_polygone_interieur<0}
V_Couleur_polygone_interieur=$17
-endif
B_Couleur_polygone_interieur={round({$18+{?(-$Valeur_variation_couleur,$Valeur_variation_couleur)}})}
-if {$B_Couleur_polygone_interieur>255}
B_Couleur_polygone_interieur=$18
-endif
-if {$B_Couleur_polygone_interieur<0}
B_Couleur_polygone_interieur=$18
-endif
## triangle 2 points extérieurs ##
X_point_exterieur_1={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{cos({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
Y_point_exterieur_1={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{sin({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
X_point_exterieur_2={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{cos({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
Y_point_exterieur_2={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_circonscrit*{sin({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
## vérification points
##-ellipse[-1] $X_point_exterieur_1,$Y_point_exterieur_1,5,5,0,1,127,127,127,255
##-ellipse[-1] $X_point_exterieur_2,$Y_point_exterieur_2,5,5,0,1,127,127,127,255
-if {$Remplir_polygone_exterieur==1}
## plein
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_exterieur_1,$Y_point_exterieur_1,$X_point_exterieur_2,$Y_point_exterieur_2,1,$R_Couleur_polygone_exterieur,$V_Couleur_polygone_exterieur,$B_Couleur_polygone_exterieur,$Transparence_des_couleurs
-endif
-if {$Contour_polygone_exterieur==1}
## contour
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_exterieur_1,$Y_point_exterieur_1,$X_point_exterieur_2,$Y_point_exterieur_2,1,0xFFFFFF,$R_Couleur_contour_polygone_exterieur,$V_Couleur_contour_polygone_exterieur,$B_Couleur_contour_polygone_exterieur,$Transparence_des_couleurs
-endif
## triangle 2 points intérieurs ##
X_point_interieur_1={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{cos({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
Y_point_interieur_1={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{sin({pi/180*{$Increment_angle+$Angle_inclinaison+{180/$Nombre_de_cotes}}})}})}}
X_point_interieur_2={$X_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{cos({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
Y_point_interieur_2={$Y_centre_cercle_circonscrit+{round({$Rayon_cercle_interieur*{sin({pi/180*{$Increment_angle+$Angle_inclinaison-{180/$Nombre_de_cotes}}})}})}}
## vérification points
##-ellipse[-1] $X_point_interieur_1,$Y_point_interieur_1,5,5,0,1,127,127,127,255
##-ellipse[-1] $X_point_interieur_2,$Y_point_interieur_2,5,5,0,1,127,127,127,255
-if {$Remplir_polygone_interieur==1}
## plein
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_interieur_1,$Y_point_interieur_1,$X_point_interieur_2,$Y_point_interieur_2,1,$R_Couleur_polygone_interieur,$V_Couleur_polygone_interieur,$B_Couleur_polygone_interieur,$Transparence_des_couleurs
-endif
-if {$Contour_polygone_interieur==1}
## contour
-polygon[-1] 3,$X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$X_point_interieur_1,$Y_point_interieur_1,$X_point_interieur_2,$Y_point_interieur_2,1,0xFFFFFF,$R_Couleur_contour_polygone_interieur,$V_Couleur_contour_polygone_interieur,$B_Couleur_contour_polygone_interieur,$Transparence_des_couleurs
-endif
## tracer le cercle intérieur à la fin
-if {$Nb_boucle==1}
-if {$Remplir_cercle_interieur==1}
## tracer le cercle intérieur plein
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_interieur,$Rayon_cercle_interieur,0,1,$R_CI_plein,$V_CI_plein,$B_CI_plein,$Transparence_des_couleurs
-endif
## Cercle intérieur ##
-if {$Contour_cercle_interieur==1}
## tracer le cercle intérieur contour
-ellipse[-1] $X_centre_cercle_circonscrit,$Y_centre_cercle_circonscrit,$Rayon_cercle_interieur,$Rayon_cercle_interieur,0,1,0xFFFFFF,$R_CI_contour,$V_CI_contour,$B_CI_contour,$Transparence_des_couleurs
-endif
-endif
-endif
Increment_angle={$Increment_angle+{360/$Nombre_de_cotes}}
Nb_boucle={$Nb_boucle-1}
-while {$Nb_boucle>0}
-if {$Valeur_dilate_circ>1}
-dilate_circ[-1] $Valeur_dilate_circ
-endif
-blur[-1] $Flou_polygone
-spread[-1] $Spread_polygone
-deform[-1] $Deform_polygone
-gimp_blend[-2,-1] $blend,1,1,1 # alpha
################################################################
## ##
## FIN Ensemble Polygones / Figures géométriques ##
## ##
################################################################
#################################################
## ##
## Etoile_De_Pompei_Triangles_Sierpinski ##
## ##
#################################################
# 2015/03/08 correction
# 2015/03/07 menu , dimension = largeur ou hauteur
# 2014/04/24 blend
# modification 2014/03/20 -samj_sierpinski_absolu[-1]
# origine 2014/03/18
# adaptation de etoile_de_pompei_samj
#@gimp Etoile_De_Pompei_Triangles_Sierpinski : samj_Etoile_De_Pompei_Triangles_Sierpinski, samj_Etoile_De_Pompei_Triangles_Sierpinski(1)
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Angle inclinaison = float(30,0,60)
#@gimp : Dimension (>0 W%) (<0 H%) = float(100,-400,400)
#@gimp : Cadre = color(0,0,0,255)
#@gimp : Afficher Cadre = choice(0,"Pas Affichage","Affichage Contours Centre","Affichage Contours")
#@gimp : R\303\251cursions Sierpinski = int(5,1,7)
#@gimp : Centre A = color(255,0,0,127)
#@gimp : Centre B = color(255,0,255,127)
#@gimp : Triangle = color(0,0,255,127)
#@gimp : Demi Losange A = color(0,255,255,127)
#@gimp : Demi Losange B = color(255,255,0,127)
#@gimp : Cercle = color(0,63,255,64)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/08.")
samj_Etoile_De_Pompei_Triangles_Sierpinski :
####### Déclaration des variables
X={round({{w}*{$1/100}})}
Y={round({{h}*{$2/100}})}
Angle_inclinaison=$3
-if {$4>0}
Dimension={round({{w}*$4/{400*{2^0.5}}})}
-else
Dimension={round({-{h}*$4/{400*{2^0.5}}})}
-endif
R_Cadre=$5
V_Cadre=$6
B_Cadre=$7
A_Cadre=$8
Afficher_Cadre=$9
Recursions_Sierpinski=$10
R_Centre=$11
V_Centre=$12
B_Centre=$13
A_Centre=$14
R_Centreb=$15
V_Centreb=$16
B_Centreb=$17
A_Centreb=$18
R_Triangle=$19
V_Triangle=$20
B_Triangle=$21
A_Triangle=$22
R_Demi_Losange=$23
V_Demi_Losange=$24
B_Demi_Losange=$25
A_Demi_Losange=$26
R_Demi_Losange_Deux=$27
V_Demi_Losange_Deux=$28
B_Demi_Losange_Deux=$29
A_Demi_Losange_Deux=$30
R_Cercle=$31
V_Cercle=$32
B_Cercle=$33
A_Cercle=$34
Couleurs_aleatoires=$35
Inversions=$36
Flou=$37
Dilatation=$38
Deformation=$39
Bruit=$40
Ombre=$41
X_Ombre=$42
Y_Ombre=$43
Smoothness_Ombre=$44
Curvature_Ombre=$45
Compensation_Decalage_Ombre_X=$46
Compensation_Decalage_Ombre_Y=$47
Canal_Alpha=$48
Largeur_Origine={w}
Hauteur_Origine={h}
Rayon_Cercle_1=$Dimension ## cercle hexagone
Rayon_Cercle_2={{{2*$Dimension*$Dimension}-{2*$Dimension*$Dimension*{cos(pi/180*150)}}}^0.5} ## cercle carrés
Rayon_Cercle_3={$Dimension+{$Dimension*{3^0.5}}} ## cercle triangles
#angles degrés
dephasage_point1_carre={0+$Angle_inclinaison} ## déphasage point 7
dephasage_point2_carre={60+$Angle_inclinaison} ## déphasage point 6
dephasage_point3_carre={45+$Angle_inclinaison}
dephasage_point4_carre={15+$Angle_inclinaison}
dephasage_point5_triangle={30+$Angle_inclinaison}
Nb_Boucle=0
H_X_a=0
H_Y_a=0
H_X_b=0
H_Y_b=0
H_X_c=0
H_Y_c=0
H_X_d=0
H_Y_d=0
H_X_e=0
H_Y_e=0
H_X_f=0
H_Y_f=0
xca=0
yca=0
Angle_C=0
xcb=0
ycb=0
xcc=0
ycc=0
xcd=0
ycd=0
xce=0
yce=0
####### Ligne de commandes
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
#Couleurs aléatoires
-if {$Couleurs_aleatoires==1}
R_Centre={round(?(0,255))}
V_Centre={round(?(0,255))}
B_Centre={round(?(0,255))}
R_Centreb={round(?(0,255))}
V_Centreb={round(?(0,255))}
B_Centreb={round(?(0,255))}
R_Triangle={round(?(0,255))}
V_Triangle={round(?(0,255))}
B_Triangle={round(?(0,255))}
R_Demi_Losange={round(?(0,255))}
V_Demi_Losange={round(?(0,255))}
B_Demi_Losange={round(?(0,255))}
R_Demi_Losange_Deux={round(?(0,255))}
V_Demi_Losange_Deux={round(?(0,255))}
B_Demi_Losange_Deux={round(?(0,255))}
R_Cercle={round(?(0,255))}
V_Cercle={round(?(0,255))}
B_Cercle={round(?(0,255))}
-endif
-if {$Afficher_Cadre>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
#-point[-1] 20,20,0,1,255,0,0,255
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-if {$Afficher_Cadre==2}
-ellipse[-2] $X,$Y,$Rayon_Cercle_3,$Rayon_Cercle_3,0,1,0xFFFFFFFF,$R_Cadre,$V_Cadre,$B_Cadre,$A_Cadre
-ellipse[-1] $X,$Y,$Rayon_Cercle_3,$Rayon_Cercle_3,0,1,$R_Cercle,$V_Cercle,$B_Cercle,$A_Cercle
-endif
#-point[-1] 30,30,0,1,255,255,0,255
-repeat 6
Nb_Boucle={$Nb_Boucle+1}
#Couleurs aléatoires
-if {$Couleurs_aleatoires==1}
R_Centreb={round(?(0,255))}
V_Centreb={round(?(0,255))}
B_Centreb={round(?(0,255))}
R_Triangle={round(?(0,255))}
V_Triangle={round(?(0,255))}
B_Triangle={round(?(0,255))}
R_Demi_Losange_Deux={round(?(0,255))}
V_Demi_Losange_Deux={round(?(0,255))}
B_Demi_Losange_Deux={round(?(0,255))}
-endif
point1_X={round({$Rayon_Cercle_1*{cos(pi/180*$dephasage_point1_carre)}})}
point1_Y={round({$Rayon_Cercle_1*{sin(pi/180*$dephasage_point1_carre)}})}
point2_X={round({$Rayon_Cercle_1*{cos(pi/180*{$dephasage_point2_carre})}})}
point2_Y={round({$Rayon_Cercle_1*{sin(pi/180*{$dephasage_point2_carre})}})}
point3_X={round({$Rayon_Cercle_2*{cos(pi/180*{$dephasage_point3_carre})}})}
point3_Y={round({$Rayon_Cercle_2*{sin(pi/180*{$dephasage_point3_carre})}})}
point4_X={round({$Rayon_Cercle_2*{cos(pi/180*{$dephasage_point4_carre})}})}
point4_Y={round({$Rayon_Cercle_2*{sin(pi/180*{$dephasage_point4_carre})}})}
-if {$Nb_Boucle==1}
H_X_a={$X+$point1_X}
H_Y_a={$Y+$point1_Y}
-elif {$Nb_Boucle==2}
H_X_b={$X+$point1_X}
H_Y_b={$Y+$point1_Y}
-elif {$Nb_Boucle==3}
H_X_c={$X+$point1_X}
H_Y_c={$Y+$point1_Y}
-elif {$Nb_Boucle==4}
H_X_d={$X+$point1_X}
H_Y_d={$Y+$point1_Y}
-elif {$Nb_Boucle==5}
H_X_e={$X+$point1_X}
H_Y_e={$Y+$point1_Y}
-elif {$Nb_Boucle==6}
H_X_f={$X+$point1_X}
H_Y_f={$Y+$point1_Y}
-endif
point5_X={round({$Rayon_Cercle_3*{cos(pi/180*{$dephasage_point5_triangle})}})}
point5_Y={round({$Rayon_Cercle_3*{sin(pi/180*{$dephasage_point5_triangle})}})}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,{$X+$point3_X},{$Y+$point3_Y},{$X+$point4_X},{$Y+$point4_Y},{$X+$point5_X},{$Y+$point5_Y},$R_Triangle,$V_Triangle,$B_Triangle,$A_Triangle
point6_X={round({$Rayon_Cercle_3*{cos(pi/180*{$dephasage_point2_carre})}})}
point6_Y={round({$Rayon_Cercle_3*{sin(pi/180*{$dephasage_point2_carre})}})}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,{$X+$point2_X},{$Y+$point2_Y},{$X+$point3_X},{$Y+$point3_Y},{$X+$point6_X},{$Y+$point6_Y},$R_Demi_Losange_Deux,$V_Demi_Losange_Deux,$B_Demi_Losange_Deux,$A_Demi_Losange_Deux
point7_X={round({$Rayon_Cercle_3*{cos(pi/180*{$dephasage_point1_carre})}})}
point7_Y={round({$Rayon_Cercle_3*{sin(pi/180*{$dephasage_point1_carre})}})}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,{$X+$point1_X},{$Y+$point1_Y},{$X+$point4_X},{$Y+$point4_Y},{$X+$point7_X},{$Y+$point7_Y},$R_Demi_Losange,$V_Demi_Losange,$B_Demi_Losange,$A_Demi_Losange
-if {$Afficher_Cadre>0}
-polygon[-2] 3,{$X+$point3_X},{$Y+$point3_Y},{$X+$point4_X},{$Y+$point4_Y},{$X+$point5_X},{$Y+$point5_Y},1,0xFFFFFFFF,$R_Cadre,$V_Cadre,$B_Cadre,$A_Cadre
-polygon[-2] 3,{$X+$point2_X},{$Y+$point2_Y},{$X+$point3_X},{$Y+$point3_Y},{$X+$point6_X},{$Y+$point6_Y},1,0xFFFFFFFF,$R_Cadre,$V_Cadre,$B_Cadre,$A_Cadre
-polygon[-2] 3,{$X+$point1_X},{$Y+$point1_Y},{$X+$point4_X},{$Y+$point4_Y},{$X+$point7_X},{$Y+$point7_Y},1,0xFFFFFFFF,$R_Cadre,$V_Cadre,$B_Cadre,$A_Cadre
-endif
-if {$Afficher_Cadre==2}
-polygon[-2] 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},1,0xFFFFFFFF,$R_Cadre,$V_Cadre,$B_Cadre,$A_Cadre
-endif
dephasage_point1_carre={$dephasage_point1_carre+60}
dephasage_point2_carre={$dephasage_point2_carre+60}
dephasage_point3_carre={$dephasage_point3_carre+60}
dephasage_point4_carre={$dephasage_point4_carre+60}
dephasage_point5_triangle={$dephasage_point5_triangle+60}
-done
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$H_X_a,$H_Y_a,$H_X_b,$H_Y_b,$X,$Y,$R_Centre,$V_Centre,$B_Centre,$A_Centre
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$H_X_b,$H_Y_b,$H_X_c,$H_Y_c,$X,$Y,$R_Centreb,$V_Centreb,$B_Centreb,$A_Centreb
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$H_X_c,$H_Y_c,$H_X_d,$H_Y_d,$X,$Y,$R_Centre,$V_Centre,$B_Centre,$A_Centre
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$H_X_d,$H_Y_d,$H_X_e,$H_Y_e,$X,$Y,$R_Centreb,$V_Centreb,$B_Centreb,$A_Centreb
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$H_X_e,$H_Y_e,$H_X_f,$H_Y_f,$X,$Y,$R_Centre,$V_Centre,$B_Centre,$A_Centre
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$H_X_f,$H_Y_f,$H_X_a,$H_Y_a,$X,$Y,$R_Centreb,$V_Centreb,$B_Centreb,$A_Centreb
-if {$Afficher_Cadre==0}
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-elif {$Afficher_Cadre==1}
-polygon[-2] 6,$H_X_a,$H_Y_a,$H_X_b,$H_Y_b,$H_X_c,$H_Y_c,$H_X_d,$H_Y_d,$H_X_e,$H_Y_e,$H_X_f,$H_Y_f,1,0xFFFFFFFF,$R_Cadre,$V_Cadre,$B_Cadre,$A_Cadre
-endif
-if {$Afficher_Cadre>0}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Etoile_De_Pompei_Triangles_Sierpinski ##
## ##
#################################################
#################################################
## ##
## Superposition_Triangles_Sierpinski ##
## ##
#################################################
# 2015/03/08 menu , Rayon_Premier_Cecle en fonction de largeur ou hauteur
# 2014/04/24 blend
#@gimp Superposition_Triangles_Sierpinski : samj_Superposition_Triangles_Sierpinski, samj_Superposition_Triangles_Sierpinski(1)
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Nombre De Zones = int(6,3,24)
#@gimp : Nombre De Superpositions = int(6,1,50)
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Dimension Premier Cercle (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Coeff. Superpositions = float(1,0,4)
#@gimp : Hauteur Triangle = float(20,0,100)
#@gimp : Angle inclinaison = float(30,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage = choice(1,"Sans Contours Triangles Ext.","Sans Contours Triangles Int.","Sans Contours Triangles Ext. et Lat.","Sans Contours Triangles Int. et Lat.","Triangles Ext.","Triangles Int.","Triangles Ext. et Lat.","Triangles Int. et Lat.")
#@gimp : Recursions Sierpinski = int(4,0,7)
#@gimp : Triangle A = color(0,0,255,127)
#@gimp : Triangle B = color(255,255,0,127)
#@gimp : Triangle Lat. A = color(128,64,192,127)
#@gimp : Triangle Lat. B = color(64,128,192,127)
#@gimp : Cercle = color(0,255,255,127)
#@gimp : Afficher Cercle = bool(0)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/08.")
samj_Superposition_Triangles_Sierpinski :
####### Déclaration des variables
Nombre_de_zones=$1
Nombre_de_superpositions=$2
X={round({{w}*{$3/100}})}
Y={round({{h}*{$4/100}})}
-if {$5>0}
Rayon_Premier_Cecle={round({{w}*$5/{200*{2^0.5}}})}
-else
Rayon_Premier_Cecle={round({-{h}*$5/{200*{2^0.5}}})}
-endif
Coeff_Superpositions=$6
Hauteur_Triangle={round({{{w}+{h}}*$7/2400})}
Angle_inclinaison=$8
R_Contours=$9
V_Contours=$10
B_Contours=$11
A_Contours=$12
Affichage=$13
Recursions_Sierpinski=$14
R_Tr=$15
V_Tr=$16
B_Tr=$17
A_Tr=$18
R_Trb=$19
V_Trb=$20
B_Trb=$21
A_Trb=$22
R_Lat=$23
V_Lat=$24
B_Lat=$25
A_Lat=$26
R_Latb=$27
V_Latb=$28
B_Latb=$29
A_Latb=$30
R_Cercle=$31
V_Cercle=$32
B_Cercle=$33
A_Cercle=$34
Afficher_Cercle=$35
Couleurs_aleatoires=$36
Inversions=$37
Flou=$38
Dilatation=$39
Deformation=$40
Bruit=$41
Ombre=$42
X_Ombre=$43
Y_Ombre=$44
Smoothness_Ombre=$45
Curvature_Ombre=$46
Compensation_Decalage_Ombre_X=$47
Compensation_Decalage_Ombre_Y=$48
Canal_Alpha=$49
Largeur_Origine={w}
Hauteur_Origine={h}
Angle=$Angle_inclinaison
Increment_angle={360/$Nombre_de_zones}
Rayon_Cercle_A=$Rayon_Premier_Cecle
H_Tr=$Hauteur_Triangle
Rayon_Cercle_B=0
Rayon_Cercle_C=0
Rayon_Contour=0
####### Ligne de commandes
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage>3}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
Nb_boucles_superpositions=0
-repeat $Nombre_de_superpositions
Nb_boucles_superpositions={$Nb_boucles_superpositions+1}
Nb_boucles_zones=0
Angle=$Angle_inclinaison
-repeat $Nombre_de_zones
Nb_boucles_zones={$Nb_boucles_zones+1}
-if {$Couleurs_aleatoires==1}
R_Tr={round(?(0,255))}
V_Tr={round(?(0,255))}
B_Tr={round(?(0,255))}
R_Trb={round(?(0,255))}
V_Trb={round(?(0,255))}
B_Trb={round(?(0,255))}
R_Lat={round(?(0,255))}
V_Lat={round(?(0,255))}
B_Lat={round(?(0,255))}
R_Latb={round(?(0,255))}
V_Latb={round(?(0,255))}
B_Latb={round(?(0,255))}
R_Cercle={round(?(0,255))}
V_Cercle={round(?(0,255))}
B_Cercle={round(?(0,255))}
-endif
Rayon_Cercle_B={{{$Rayon_Cercle_A*$Rayon_Cercle_A}+{{$Rayon_Cercle_A*{tan({pi/180*{180/$Nombre_de_zones}})}}*{$Rayon_Cercle_A*{tan({pi/180*{180/$Nombre_de_zones}})}}}}^0.5}
X_A={$X+{{$Rayon_Cercle_A+$H_Tr}*{cos({pi/180*$Angle})}}}
Y_A={$Y+{{$Rayon_Cercle_A+$H_Tr}*{sin({pi/180*$Angle})}}}
X_B={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{180/$Nombre_de_zones}}})}}}
Y_B={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{180/$Nombre_de_zones}}})}}}
X_C={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle-{180/$Nombre_de_zones}}})}}}
Y_C={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle-{180/$Nombre_de_zones}}})}}}
Rayon_Cercle_C={{{{$Rayon_Cercle_A+$H_Tr}*{$Rayon_Cercle_A+$H_Tr}}+{{{$Rayon_Cercle_A+$H_Tr}*{tan({pi/180*{180/$Nombre_de_zones}})}}*{{$Rayon_Cercle_A+$H_Tr}*{tan({pi/180*{180/$Nombre_de_zones}})}}}}^0.5}
X_D={$X+{$Rayon_Cercle_A*{cos({pi/180*$Angle})}}}
Y_D={$Y+{$Rayon_Cercle_A*{sin({pi/180*$Angle})}}}
X_E={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{180/$Nombre_de_zones}}})}}}
Y_E={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{180/$Nombre_de_zones}}})}}}
X_F={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle-{180/$Nombre_de_zones}}})}}}
Y_F={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle-{180/$Nombre_de_zones}}})}}}
-if {{($Affichage%2)}==0}
# Triangles Ext.
Rayon_Contour={$Rayon_Cercle_A+$H_Tr}
-if {$Recursions_Sierpinski==0}
-if {{($Nb_boucles_superpositions%2)}==0}
-polygon[-1] 3,$X_A,$Y_A,$X_B,$Y_B,$X_C,$Y_C,1,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-polygon[-1] 3,$X_A,$Y_A,$X_B,$Y_B,$X_C,$Y_C,1,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-else
-if {{($Nb_boucles_superpositions%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_A,$Y_A,$X_B,$Y_B,$X_C,$Y_C,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_A,$Y_A,$X_B,$Y_B,$X_C,$Y_C,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-endif
-if {{$Affichage==2}||{$Affichage==6}}
-if {{($Nb_boucles_superpositions%2)}==0}
-polygon[-1] 3,$X_A,$Y_A,$X_B,$Y_B,$X_E,$Y_E,1,$R_Lat,$V_Lat,$B_Lat,$A_Lat
-polygon[-1] 3,$X_A,$Y_A,$X_C,$Y_C,$X_F,$Y_F,1,$R_Lat,$V_Lat,$B_Lat,$A_Lat
-else
-polygon[-1] 3,$X_A,$Y_A,$X_B,$Y_B,$X_E,$Y_E,1,$R_Latb,$V_Latb,$B_Latb,$A_Latb
-polygon[-1] 3,$X_A,$Y_A,$X_C,$Y_C,$X_F,$Y_F,1,$R_Latb,$V_Latb,$B_Latb,$A_Latb
-endif
-endif
-if {$Affichage>3}
-polygon[-2] 3,$X_A,$Y_A,$X_B,$Y_B,$X_C,$Y_C,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-else
# Triangles Int.
Rayon_Contour=$Rayon_Cercle_C
-if {$Recursions_Sierpinski==0}
-if {{($Nb_boucles_superpositions%2)}==0}
-polygon[-1] 3,$X_D,$Y_D,$X_E,$Y_E,$X_F,$Y_F,1,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-polygon[-1] 3,$X_D,$Y_D,$X_E,$Y_E,$X_F,$Y_F,1,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-else
-if {{($Nb_boucles_superpositions%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_D,$Y_D,$X_E,$Y_E,$X_F,$Y_F,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_D,$Y_D,$X_E,$Y_E,$X_F,$Y_F,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-endif
-if {{$Affichage==3}||{$Affichage==7}}
-if {{($Nb_boucles_superpositions%2)}==0}
-polygon[-1] 3,$X_D,$Y_D,$X_B,$Y_B,$X_E,$Y_E,1,$R_Lat,$V_Lat,$B_Lat,$A_Lat
-polygon[-1] 3,$X_D,$Y_D,$X_C,$Y_C,$X_F,$Y_F,1,$R_Lat,$V_Lat,$B_Lat,$A_Lat
-else
-polygon[-1] 3,$X_D,$Y_D,$X_B,$Y_B,$X_E,$Y_E,1,$R_Latb,$V_Latb,$B_Latb,$A_Latb
-polygon[-1] 3,$X_D,$Y_D,$X_C,$Y_C,$X_F,$Y_F,1,$R_Latb,$V_Latb,$B_Latb,$A_Latb
-endif
-endif
-if {$Affichage>3}
-polygon[-2] 3,$X_D,$Y_D,$X_E,$Y_E,$X_F,$Y_F,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-endif
Angle={$Angle_inclinaison+{$Increment_angle*$Nb_boucles_zones}}
-done
Rayon_Cercle_A={$Rayon_Cercle_A+$H_Tr}
H_Tr={$Hauteur_Triangle*$Nb_boucles_superpositions*$Coeff_Superpositions}
-done
-if {$Afficher_Cercle==1}
$Largeur_Origine,$Hauteur_Origine,1,4
-polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1
-ellipse[-1] $X,$Y,$Rayon_Contour,$Rayon_Contour,0,1,$R_Cercle,$V_Cercle,$B_Cercle,$A_Cercle
-blend[-2,-1] alpha,1,1
-if {$Affichage>3}
-ellipse[-2] $X,$Y,$Rayon_Contour,$Rayon_Contour,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-endif
-if {$Affichage>3}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Superposition_Triangles_Sierpinski ##
## ##
#################################################
#################################################
## ##
## Etoiles_Remplies_Triangles_Sierpinski ##
## ##
#################################################
# 2015/03/08 menu , Rayon_cercle_exterieur en fonction de largeur ou hauteur
# modification 2014/03/20 -samj_sierpinski_absolu[-1] + couleurs aléatoires dans boucle
# origine 2014/03/19
#@gimp Etoiles_Remplies_Triangles_Sierpinski : samj_Etoiles_Remplies_Triangles_Sierpinski, samj_Etoiles_Remplies_Triangles_Sierpinski(1)
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Nombre De Sommets = int(6,2,18)
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Rayon cercle ext\303\251rieur / Outer circle radius (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Rayon cercle int\303\251rieur / Inner circle radius (%) = float(40,0,100)
#@gimp : Angle inclinaison = float(30,0,60)
#@gimp : Excentricit\303\251 / Eccentricity (%) = float(0,0,100)
#@gimp : Angle excentricit\303\251 / Eccentricity angle = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage = choice(1,"Pas De Contours A","Pas De Contours B","Pas De Contours C","Pas De Contours D","Contours A","Contours B","Contours C","Contours D")
#@gimp : Recursions Sierpinski = int(4,0,7)
#@gimp : Centre A = color(255,0,0,127)
#@gimp : Centre B = color(255,192,64,127)
#@gimp : Sommets A = color(0,0,255,127)
#@gimp : Sommets B = color(0,255,255,127)
#@gimp : Cercle = color(255,255,0,127)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/08.")
samj_Etoiles_Remplies_Triangles_Sierpinski :
####### Déclaration des variables
Nombre_de_sommets=$1
X={round({{w}*{$2/100}})}
Y={round({{h}*{$3/100}})}
-if {$4>0}
Rayon_cercle_exterieur={round({{w}*$4/{100}})}
-else
Rayon_cercle_exterieur={round({-{h}*$4/{100}})}
-endif
Rayon_cercle_interieur={round({$Rayon_cercle_exterieur*$5/100})}
Angle_inclinaison=$6
Pourcentage_excentricite=$7
Angle_excentricite=$8
R_Contours=$9
V_Contours=$10
B_Contours=$11
A_Contours=$12
Affichage=$13
Recursions_Sierpinski=$14
R_Centre=$15
V_Centre=$16
B_Centre=$17
A_Centre=$18
R_Centreb=$19
V_Centreb=$20
B_Centreb=$21
A_Centreb=$22
R_Sommet=$23
V_Sommet=$24
B_Sommet=$25
A_Sommet=$26
R_Sommetb=$27
V_Sommetb=$28
B_Sommetb=$29
A_Sommetb=$30
R_Cercle=$31
V_Cercle=$32
B_Cercle=$33
A_Cercle=$34
Couleurs_aleatoires=$35
Inversions=$36
Flou=$37
Dilatation=$38
Deformation=$39
Bruit=$40
Ombre=$41
X_Ombre=$42
Y_Ombre=$43
Smoothness_Ombre=$44
Curvature_Ombre=$45
Compensation_Decalage_Ombre_X=$46
Compensation_Decalage_Ombre_Y=$47
Canal_Alpha=$48
Largeur_Origine={w}
Hauteur_Origine={h}
Nb_Boucle=0
Angle=0
Increment_angle={360/$Nombre_de_sommets}
Longueur_excentricite={$Pourcentage_excentricite/100*{$Rayon_cercle_exterieur-$Rayon_cercle_interieur}}
Decalage_X_excentricite={round({$Longueur_excentricite*{cos(pi/180*$Angle_excentricite)}})}
Decalage_Y_excentricite={round({$Longueur_excentricite*{sin(pi/180*$Angle_excentricite)}})}
X_centre_cercle_interieur={$X+$Decalage_X_excentricite}
Y_centre_cercle_interieur={$Y+$Decalage_Y_excentricite}
####### Ligne de commandes
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
#Couleurs aléatoires
-if {$Couleurs_aleatoires==1}
R_Centre={round(?(0,255))}
V_Centre={round(?(0,255))}
B_Centre={round(?(0,255))}
R_Centreb={round(?(0,255))}
V_Centreb={round(?(0,255))}
B_Centreb={round(?(0,255))}
R_Sommet={round(?(0,255))}
V_Sommet={round(?(0,255))}
B_Sommet={round(?(0,255))}
R_Sommetb={round(?(0,255))}
V_Sommetb={round(?(0,255))}
B_Sommetb={round(?(0,255))}
R_Sommetb_Deux={round(?(0,255))}
V_Sommetb_Deux={round(?(0,255))}
B_Sommetb_Deux={round(?(0,255))}
R_Cercle={round(?(0,255))}
V_Cercle={round(?(0,255))}
B_Cercle={round(?(0,255))}
-endif
-if {$Affichage>3}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-if {{$Affichage==2}||{$Affichage==3}||{$Affichage==6}||{$Affichage==7}}
-ellipse[-1] $X,$Y,$Rayon_cercle_exterieur,$Rayon_cercle_exterieur,0,1,$R_Cercle,$V_Cercle,$B_Cercle,$A_Cercle
-endif
-repeat $Nombre_de_sommets
#Couleurs aléatoires
-if {$Couleurs_aleatoires==1}
R_Centre={round(?(0,255))}
V_Centre={round(?(0,255))}
B_Centre={round(?(0,255))}
R_Centreb={round(?(0,255))}
V_Centreb={round(?(0,255))}
B_Centreb={round(?(0,255))}
R_Sommet={round(?(0,255))}
V_Sommet={round(?(0,255))}
B_Sommet={round(?(0,255))}
R_Sommetb={round(?(0,255))}
V_Sommetb={round(?(0,255))}
B_Sommetb={round(?(0,255))}
R_Sommetb_Deux={round(?(0,255))}
V_Sommetb_Deux={round(?(0,255))}
B_Sommetb_Deux={round(?(0,255))}
R_Cercle={round(?(0,255))}
V_Cercle={round(?(0,255))}
B_Cercle={round(?(0,255))}
-endif
Nb_Boucle={$Nb_Boucle+1}
## Étoiles point extérieur ##
X_point_exterieur={$X+{round({$Rayon_cercle_exterieur*{cos({pi/180*{$Angle+$Angle_inclinaison}})}})}}
Y_point_exterieur={$Y+{round({$Rayon_cercle_exterieur*{sin({pi/180*{$Angle+$Angle_inclinaison}})}})}}
## Étoiles points intérieurs ##
X_point_interieur_a={$X_centre_cercle_interieur+{round({$Rayon_cercle_interieur*{cos({pi/180*{$Angle+$Angle_inclinaison+{180/$Nombre_de_sommets}}})}})}}
Y_point_interieur_a={$Y_centre_cercle_interieur+{round({$Rayon_cercle_interieur*{sin({pi/180*{$Angle+$Angle_inclinaison+{180/$Nombre_de_sommets}}})}})}}
X_point_interieur_b={$X_centre_cercle_interieur+{round({$Rayon_cercle_interieur*{cos({pi/180*{$Angle+$Angle_inclinaison-{180/$Nombre_de_sommets}}})}})}}
Y_point_interieur_b={$Y_centre_cercle_interieur+{round({$Rayon_cercle_interieur*{sin({pi/180*{$Angle+$Angle_inclinaison-{180/$Nombre_de_sommets}}})}})}}
-if {{($Nombre_de_sommets%2)}==0}
-if {{($Nb_Boucle%2)}==0}
-if {$Recursions_Sierpinski==0}
-polygon[-1] 3,$X_point_exterieur,$Y_point_exterieur,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,1,$R_Sommet,$V_Sommet,$B_Sommet,$A_Sommet
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_point_exterieur,$Y_point_exterieur,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,$R_Sommet,$V_Sommet,$B_Sommet,$A_Sommet
-endif
-if {{($Affichage%2)}==1}
-if {$Recursions_Sierpinski==0}
-polygon[-1] 3,$X,$Y,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,1,$R_Centre,$V_Centre,$B_Centre,$A_Centre
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X,$Y,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,$R_Centre,$V_Centre,$B_Centre,$A_Centre
-endif
-endif
-else
-if {$Recursions_Sierpinski==0}
-polygon[-1] 3,$X_point_exterieur,$Y_point_exterieur,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,1,$R_Sommetb,$V_Sommetb,$B_Sommetb,$A_Sommetb
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_point_exterieur,$Y_point_exterieur,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,$R_Sommetb,$V_Sommetb,$B_Sommetb,$A_Sommetb
-endif
-if {{($Affichage%2)}==1}
-if {$Recursions_Sierpinski==0}
-polygon[-1] 3,$X,$Y,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,1,$R_Centreb,$V_Centreb,$B_Centreb,$A_Centreb
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X,$Y,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,$R_Centreb,$V_Centreb,$B_Centreb,$A_Centreb
-endif
-endif
-endif
-else
-if {$Recursions_Sierpinski==0}
-polygon[-1] 3,$X_point_exterieur,$Y_point_exterieur,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,1,$R_Sommet,$V_Sommet,$B_Sommet,$A_Sommet
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_point_exterieur,$Y_point_exterieur,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,$R_Sommet,$V_Sommet,$B_Sommet,$A_Sommet
-endif
-if {{($Affichage%2)}==1}
-if {$Recursions_Sierpinski==0}
-polygon[-1] 3,$X,$Y,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,1,$R_Centre,$V_Centre,$B_Centre,$A_Centre
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X,$Y,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,$R_Centre,$V_Centre,$B_Centre,$A_Centre
-endif
-endif
-endif
## tracer les pointes contour
-if {$Affichage>3}
-polygon[-2] 3,$X_point_exterieur,$Y_point_exterieur,$X_point_interieur_a,$Y_point_interieur_a,$X_point_interieur_b,$Y_point_interieur_b,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
Angle={$Increment_angle*$Nb_Boucle}
-done
-if {$Affichage>5}
-ellipse[-2] $X,$Y,$Rayon_cercle_exterieur,$Rayon_cercle_exterieur,0,1,0xFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Affichage>3}
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Etoiles_Remplies_Triangles_Sierpinski ##
## ##
#################################################
#################################################
## ##
## Rosace_Triangles_Sierpinski ##
## ##
#################################################
# 2015/03/08 menu , Rayon_Premier_Cecle en fonction de largeur ou hauteur
# 2014/04/24 blend
#@gimp Rosace_Triangles_Sierpinski : samj_Rosace_Triangles_Sierpinski, samj_Rosace_Triangles_Sierpinski(1)
#@gimp : sep = separator(), note = note("Rendu - Rendering")
#@gimp : Nombre De Zones = int(6,3,24)
#@gimp : Nombre De Couches = int(6,1,50)
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Rayon Premier Cercle (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : D\303\251calage Angle = float(-15,-30,30)
#@gimp : Dimension Triangle = float(25,0,100)
#@gimp : Recouvrement Triangle = float(5,0,100)
#@gimp : Angle inclinaison = float(30,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Affichage Contours = choice(0,"Sans","Triangle A et B","Triangle A","Triangle B","Triangle A et B et Cercle","Triangle A et Cercle","Triangle B et Cercle")
#@gimp : Type Triangles A = choice(0,"JDH","JDE","JDB","JAH","JAE","JAB","Sans")
#@gimp : Type Triangles B = choice(0,"HBI","HBF","HBC","Sans")
#@gimp : Type Decalage = choice(0,"Couches","Cercles","Couches et Cercles")
#@gimp : Recursions Sierpinski = int(3,0,7)
#@gimp : Triangle A = color(0,0,255,127)
#@gimp : Triangle Ab = color(255,255,0,127)
#@gimp : Triangle B = color(128,64,192,127)
#@gimp : Triangle Ba = color(64,128,192,127)
#@gimp : Cercle = color(0,255,255,127)
#@gimp : Afficher Cercle = bool(0)
#@gimp : Couleurs al\303\251atoires / Random colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Flou / Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : Bruit / Noise = float(0,0,100)
#@gimp : Ombre / Shadow = bool(0)
#@gimp : X-Ombre X-Shadow = float(0.5,-5,5)
#@gimp : Y-Ombre Y-Shadow = float(0.5,-5,5)
#@gimp : Douceur Ombre / Smoothness Shadow = float(1.8,0,5)
#@gimp : Courbure Ombre / Curvature Shadow = float(0,0,1)
#@gimp : D\303\251calage Ombre X / Shadow Offset X = float(0,-20,20)
#@gimp : D\303\251calage Ombre Y / Shadow Offset Y = float(0,-20,20)
#@gimp : Canal Alpha = bool(0)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/08.")
samj_Rosace_Triangles_Sierpinski :
####### Déclaration des variables
Nombre_de_zones=$1
Nombre_de_couches=$2
X={round({{w}*{$3/100}})}
Y={round({{h}*{$4/100}})}
-if {$5>0}
Rayon_Premier_Cecle={round({{w}*$5/{400*{2^0.5}}})}
-else
Rayon_Premier_Cecle={round({-{h}*$5/{400*{2^0.5}}})}
-endif
Decalage_Angle=$6
Hauteur_Triangle={round({{{w}+{h}}*$7/2400})}
Recouvrement_Triangle={round({{{w}+{h}}*$8/4800})}
Angle_inclinaison=$9
R_Contours=$10
V_Contours=$11
B_Contours=$12
A_Contours=$13
Affichage_Contours=$14
Type_Triangles_A=$15
Type_Triangles_B=$16
Type_Decalage=$17
Recursions_Sierpinski=$18
R_Tr=$19
V_Tr=$20
B_Tr=$21
A_Tr=$22
R_Trb=$23
V_Trb=$24
B_Trb=$25
A_Trb=$26
R_Tr_B=$27
V_Tr_B=$28
B_Tr_B=$29
A_Tr_B=$30
R_Tr_Bb=$31
V_Tr_Bb=$32
B_Tr_Bb=$33
A_Tr_Bb=$34
R_Cercle=$35
V_Cercle=$36
B_Cercle=$37
A_Cercle=$38
Afficher_Cercle=$39
Couleurs_aleatoires=$40
Inversions=$41
Flou=$42
Dilatation=$43
Deformation=$44
Bruit=$45
Ombre=$46
X_Ombre=$47
Y_Ombre=$48
Smoothness_Ombre=$49
Curvature_Ombre=$50
Compensation_Decalage_Ombre_X=$51
Compensation_Decalage_Ombre_Y=$52
Canal_Alpha=$53
Largeur_Origine={w}
Hauteur_Origine={h}
Angle=$Angle_inclinaison
Increment_angle={360/$Nombre_de_zones}
Rayon_Cercle_Origine=$Rayon_Premier_Cecle
Rayon_Cercle_A=0
Rayon_Cercle_B=0
Rayon_Cercle_C=0
Rayon_Cercle_D=0
H_Tr_A=0
H_Tr_B=0
H_Tr_C=0
H_Tr_D=0
Nb_Cercles=0
####### Ligne de commandes
-if {$Canal_Alpha==0}
-to_rgb[-1]
-else
-to_rgba[-1]
-endif
-if {$Affichage_Contours>0}
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
-endif
$Largeur_Origine,$Hauteur_Origine,1,4
-if {$Ombre>0} -polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1 -endif
Nb_boucles_couches=0
-repeat $Nombre_de_couches
Nb_boucles_couches={$Nb_boucles_couches+1}
H_Tr_A={$Hauteur_Triangle*$Nb_Cercles}
Nb_Cercles={$Nb_Cercles+1}
H_Tr_B={$Hauteur_Triangle*$Nb_Cercles}
Nb_Cercles={$Nb_Cercles+1}
H_Tr_C={$Hauteur_Triangle*$Nb_Cercles}
Nb_Cercles={$Nb_Cercles+1}
H_Tr_D={$Hauteur_Triangle*$Nb_Cercles}
Rayon_Cercle_A={$Rayon_Cercle_Origine+$H_Tr_A}
Rayon_Cercle_B={$Rayon_Cercle_Origine+$H_Tr_B}
Rayon_Cercle_C={$Rayon_Cercle_Origine+$H_Tr_C}
Rayon_Cercle_D={$Rayon_Cercle_Origine+$H_Tr_D}
Angle=$Angle_inclinaison
#-ellipse[-1] $X,$Y,$Rayon_Cercle_A,$Rayon_Cercle_A,0,1,0xFFFFFFFF,255,0,0,255
#-ellipse[-1] $X,$Y,$Rayon_Cercle_B,$Rayon_Cercle_B,0,1,0xFFFFFFFF,0,255,0,255
#-ellipse[-1] $X,$Y,$Rayon_Cercle_C,$Rayon_Cercle_C,0,1,0xFFFFFFFF,0,0,255,255
#-ellipse[-1] $X,$Y,$Rayon_Cercle_D,$Rayon_Cercle_D,0,1,0xFFFFFFFF,255,255,0,255
Nb_boucles_zones=0
-repeat $Nombre_de_zones
Nb_boucles_zones={$Nb_boucles_zones+1}
-if {$Couleurs_aleatoires==1}
R_Tr={round(?(0,255))}
V_Tr={round(?(0,255))}
B_Tr={round(?(0,255))}
R_Trb={round(?(0,255))}
V_Trb={round(?(0,255))}
B_Trb={round(?(0,255))}
R_Tr_B={round(?(0,255))}
V_Tr_B={round(?(0,255))}
B_Tr_B={round(?(0,255))}
R_Tr_Bb={round(?(0,255))}
V_Tr_Bb={round(?(0,255))}
B_Tr_Bb={round(?(0,255))}
R_Cercle={round(?(0,255))}
V_Cercle={round(?(0,255))}
B_Cercle={round(?(0,255))}
-endif
-if {$Type_Decalage==0}
X_A={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
Y_A={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
X_B={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}}})}}}
Y_B={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}}})}}}
X_C={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}-{180/$Nombre_de_zones}}})}}}
Y_C={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}-{180/$Nombre_de_zones}}})}}}
X_D={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
Y_D={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
X_E={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}}})}}}
Y_E={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}}})}}}
X_F={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}-{180/$Nombre_de_zones}}})}}}
Y_F={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}-{180/$Nombre_de_zones}}})}}}
X_G={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
Y_G={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
X_H={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}}})}}}
Y_H={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}}})}}}
X_I={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}-{180/$Nombre_de_zones}}})}}}
Y_I={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}-{180/$Nombre_de_zones}}})}}}
X_J={$X+{{$Recouvrement_Triangle+$Rayon_Cercle_D}*{cos({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
Y_J={$Y+{{$Recouvrement_Triangle+$Rayon_Cercle_D}*{sin({pi/180*{$Angle+{$Decalage_Angle*$Nb_boucles_couches}+{180/$Nombre_de_zones}}})}}}
-elif {$Type_Decalage==1}
X_A={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-3}}+{180/$Nombre_de_zones}}})}}}
Y_A={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-3}}+{180/$Nombre_de_zones}}})}}}
X_B={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-3}}}})}}}
Y_B={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-3}}}})}}}
X_C={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-3}}-{180/$Nombre_de_zones}}})}}}
Y_C={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-3}}-{180/$Nombre_de_zones}}})}}}
X_D={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-2}}+{180/$Nombre_de_zones}}})}}}
Y_D={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-2}}+{180/$Nombre_de_zones}}})}}}
X_E={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-2}}}})}}}
Y_E={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-2}}}})}}}
X_F={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-2}}-{180/$Nombre_de_zones}}})}}}
Y_F={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-2}}-{180/$Nombre_de_zones}}})}}}
X_G={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-1}}+{180/$Nombre_de_zones}}})}}}
Y_G={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-1}}+{180/$Nombre_de_zones}}})}}}
X_H={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-1}}}})}}}
Y_H={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-1}}}})}}}
X_I={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-1}}-{180/$Nombre_de_zones}}})}}}
Y_I={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle/3*{$Nb_Cercles-1}}-{180/$Nombre_de_zones}}})}}}
X_J={$X+{{$Recouvrement_Triangle+$Rayon_Cercle_D}*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_Cercles}+{180/$Nombre_de_zones}}})}}}
Y_J={$Y+{{$Recouvrement_Triangle+$Rayon_Cercle_D}*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_Cercles}+{180/$Nombre_de_zones}}})}}}
-elif {$Type_Decalage==2}
X_A={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-3}}+{180/$Nombre_de_zones}}})}}}
Y_A={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-3}}+{180/$Nombre_de_zones}}})}}}
X_B={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-3}}}})}}}
Y_B={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-3}}}})}}}
X_C={$X+{$Rayon_Cercle_A*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-3}}-{180/$Nombre_de_zones}}})}}}
Y_C={$Y+{$Rayon_Cercle_A*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-3}}-{180/$Nombre_de_zones}}})}}}
X_D={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-2}}+{180/$Nombre_de_zones}}})}}}
Y_D={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-2}}+{180/$Nombre_de_zones}}})}}}
X_E={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-2}}}})}}}
Y_E={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-2}}}})}}}
X_F={$X+{$Rayon_Cercle_B*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-2}}-{180/$Nombre_de_zones}}})}}}
Y_F={$Y+{$Rayon_Cercle_B*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-2}}-{180/$Nombre_de_zones}}})}}}
X_G={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-1}}+{180/$Nombre_de_zones}}})}}}
Y_G={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-1}}+{180/$Nombre_de_zones}}})}}}
X_H={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-1}}}})}}}
Y_H={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-1}}}})}}}
X_I={$X+{$Rayon_Cercle_C*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-1}}-{180/$Nombre_de_zones}}})}}}
Y_I={$Y+{$Rayon_Cercle_C*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*{$Nb_Cercles-1}}-{180/$Nombre_de_zones}}})}}}
X_J={$X+{{$Recouvrement_Triangle+$Rayon_Cercle_D}*{cos({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*$Nb_Cercles}+{180/$Nombre_de_zones}}})}}}
Y_J={$Y+{{$Recouvrement_Triangle+$Rayon_Cercle_D}*{sin({pi/180*{$Angle+{$Decalage_Angle/3*$Nb_boucles_couches*$Nb_Cercles}+{180/$Nombre_de_zones}}})}}}
-endif
-if {$Type_Triangles_A==0} # "JDH"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_D,$Y_D,$X_H,$Y_H,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_D,$Y_D,$X_H,$Y_H,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-polygon[-2] 3,$X_J,$Y_J,$X_D,$Y_D,$X_H,$Y_H,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-elif {$Type_Triangles_A==1} # "JDE"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_D,$Y_D,$X_E,$Y_E,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_D,$Y_D,$X_E,$Y_E,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-polygon[-2] 3,$X_J,$Y_J,$X_D,$Y_D,$X_E,$Y_E,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-elif {$Type_Triangles_A==2} # "JDB"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_D,$Y_D,$X_B,$Y_B,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_D,$Y_D,$X_B,$Y_B,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-polygon[-2] 3,$X_J,$Y_J,$X_D,$Y_D,$X_B,$Y_B,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-elif {$Type_Triangles_A==3} # "JAH"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_A,$Y_A,$X_H,$Y_H,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_A,$Y_A,$X_H,$Y_H,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-polygon[-2] 3,$X_J,$Y_J,$X_A,$Y_A,$X_H,$Y_H,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-elif {$Type_Triangles_A==4} # "JAE"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_A,$Y_A,$X_E,$Y_E,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_A,$Y_A,$X_E,$Y_E,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-polygon[-2] 3,$X_J,$Y_J,$X_A,$Y_A,$X_E,$Y_E,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-elif {$Type_Triangles_A==5} # "JAB"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_A,$Y_A,$X_B,$Y_B,$R_Tr,$V_Tr,$B_Tr,$A_Tr
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_J,$Y_J,$X_A,$Y_A,$X_B,$Y_B,$R_Trb,$V_Trb,$B_Trb,$A_Trb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==2}||{$Affichage_Contours==4}||{$Affichage_Contours==5}}
-polygon[-2] 3,$X_J,$Y_J,$X_A,$Y_A,$X_B,$Y_B,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-endif
-if {$Type_Triangles_B==0} # "HBI"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_H,$Y_H,$X_B,$Y_B,$X_I,$Y_I,$R_Tr_B,$V_Tr_B,$B_Tr_B,$A_Tr_B
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_H,$Y_H,$X_B,$Y_B,$X_I,$Y_I,$R_Tr_Bb,$V_Tr_Bb,$B_Tr_Bb,$A_Tr_Bb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==3}||{$Affichage_Contours==4}||{$Affichage_Contours==6}}
-polygon[-2] 3,$X_H,$Y_H,$X_B,$Y_B,$X_I,$Y_I,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-elif {$Type_Triangles_B==1} # "HBF"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_H,$Y_H,$X_B,$Y_B,$X_F,$Y_F,$R_Tr_B,$V_Tr_B,$B_Tr_B,$A_Tr_B
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_H,$Y_H,$X_B,$Y_B,$X_F,$Y_F,$R_Tr_Bb,$V_Tr_Bb,$B_Tr_Bb,$A_Tr_Bb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==3}||{$Affichage_Contours==4}||{$Affichage_Contours==6}}
-polygon[-2] 3,$X_H,$Y_H,$X_B,$Y_B,$X_F,$Y_F,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-elif {$Type_Triangles_B==2} # "HBC"
-if {{($Nb_boucles_couches%2)}==0}
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_H,$Y_H,$X_B,$Y_B,$X_C,$Y_C,$R_Tr_B,$V_Tr_B,$B_Tr_B,$A_Tr_B
-else
-samj_sierpinski_absolu[-1] $Recursions_Sierpinski,$X_H,$Y_H,$X_B,$Y_B,$X_C,$Y_C,$R_Tr_Bb,$V_Tr_Bb,$B_Tr_Bb,$A_Tr_Bb
-endif
-if {{$Affichage_Contours==1}||{$Affichage_Contours==3}||{$Affichage_Contours==4}||{$Affichage_Contours==6}}
-polygon[-2] 3,$X_H,$Y_H,$X_B,$Y_B,$X_C,$Y_C,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-endif
Angle={$Angle_inclinaison+{$Increment_angle*$Nb_boucles_zones}}
-done
Nb_Cercles={$Nb_Cercles-3}
H_Tr=$H_Tr_C
Rayon_Cercle_Origine=$Rayon_Cercle_D
-done
-if {$Afficher_Cercle==1}
$Largeur_Origine,$Hauteur_Origine,1,4
-polygon[-1] 4,0,0,{$Largeur_Origine-1},0,{$Largeur_Origine-1},{$Hauteur_Origine-1},0,{$Hauteur_Origine-1},1,0xFFFFFFFF,0,0,0,1
-ellipse[-1] $X,$Y,$Rayon_Cercle_D,$Rayon_Cercle_D,0,1,$R_Cercle,$V_Cercle,$B_Cercle,$A_Cercle
-blend[-2,-1] alpha,1,1
-endif
-if {$Affichage_Contours>0}
-if {$Affichage_Contours>3}
-ellipse[-2,-3] $X,$Y,$Rayon_Cercle_D,$Rayon_Cercle_D,0,1,0xFFFFFFFF,$R_Contours,$V_Contours,$B_Contours,$A_Contours
-endif
-if {$Dilatation>1} -dilate_circ[-2] $Dilatation -endif
-if {$Flou>0} -blur[-1,-2] $Flou,0 -endif
-if {$Deformation>0} -deform[-1,-2] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-2] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-2] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-blend[-2,-1] alpha,1,1
-else
-if {$Dilatation>1} -dilate_circ[-1] $Dilatation -endif
-if {$Flou>0} -blur[-1] $Flou,0 -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-if {$Bruit>0} -gimp_noise[-1] {$Bruit+50},0,22,1 -endif
-if {$Ombre>0}
-drop_shadow[-1] $X_Ombre,$Y_Ombre,$Smoothness_Ombre,$Curvature_Ombre
-shift[-1] {$Compensation_Decalage_Ombre_X}%,{$Compensation_Decalage_Ombre_Y}%,0,0,0
-endif
-endif
-if {$Inversions==1}
-mirror[-1] x
-elif {$Inversions==2}
-mirror[-1] y
-elif {$Inversions==3}
-mirror[-1] x
-mirror[-1] y
-endif
-blend[-1,-2] alpha,1,0
#################################################
## ##
## FIN Rosace_Triangles_Sierpinski ##
## ##
#################################################
#################################################################################################################################################################################################
#
# REPAIR
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_repair :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Repair
#################################################
## ##
## samj_CorLine_B ##
## ##
#################################################
# 2015/05/11 origine
#@gimp samj_CorLine_B : samj_CorLine_B, samj_CorLine_B_preview
#@gimp : note = note("samj_CorLine_B pour vieilles photos d\303\251color\303\251es scann\303\251es \r\nsamj_CorLine_B for old faded scanned photos")
#@gimp : sep = separator(), note = note("Couleurs")
#@gimp : Balance = int(0,-64,64)
#@gimp : Gamma = float(1,0.8,2.2)
#@gimp : Chroma = int(10,0,50)
#@gimp : Cyan = int(0,-127,128)
#@gimp : Magenta = int(0,-127,128)
#@gimp : Jaune = int(0,-127,128)
#@gimp : sep = separator(), note = note("Nettet\303\251")
#@gimp : Nettet\303\251 A = float(0.5,0,1.5)
#@gimp : Nettet\303\251 B = float(0,0,1.5)
#@gimp : sep = separator(), note = note("R\303\251paration")
#@gimp : Type = choice(0,"Anisotropic","Diffusion")
#@gimp : Amplitude = int(50,0,100)
#@gimp : Repetition(s) = int(1,1,5)
#@gimp : sep = separator(), note = note("Preview")
#@gimp : Type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate horizontal","Duplicate vertical")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/05/11.")
samj_CorLine_B:
Balance_Couleurs=$1
Valeur_Gamma=$2
Chroma_Couleurs=$3
Cyan=$4
Magenta=$5
Jaune=$6
Nettete_A=$7
Nettete_B=$8
Type_Reparation=$9
Amplitude_Reparation=$10
Repetition_Reparation=$11
--Je_passe_l_hiver_en_Floride[0]
-to_rgb[-1]
-gimp_balance_gamma[-1] {127+$Balance_Couleurs},{127+$Balance_Couleurs},{127+$Balance_Couleurs},1
-gimp_boost_chroma[-1] {$Chroma_Couleurs/100},1
-gimp_unsharp_octave[-1] 1,5,$Nettete_A,0,2,0,24
-apply_gamma[-1] $Valeur_Gamma
-if {$Type_Reparation==0}
-repeat $Repetition_Reparation
-gimp_anisotropic_smoothing[-1] $Amplitude_Reparation,0.7,0.3,0.6,1.1,0.8,30,2,0,1,1,2
-done
-elif {$Type_Reparation==1}
-repeat $Repetition_Reparation
-gimp_diffusion_smoothing[-1] 0.7,0.3,0.6,{0.5+{$Amplitude_Reparation/100}},15,8,0,0,24
-done
-endif
-if {$Nettete_B>0} -gimp_unsharp_octave[-1] 1,5,$Nettete_B,0,2,0,24 -endif
-if {$Cyan!=0}
Cyan={127+$Cyan}
-apply_channels[-1] "-apply_curve 1,0,0,128,"$Cyan",255,255",cmy_c,0
-endif
-if {$Magenta!=0}
Magenta={127+$Magenta}
-apply_channels[-1] "-apply_curve 1,0,0,128,"$Magenta",255,255",cmy_m,0
-endif
-if {$Jaune!=0}
Jaune={127+$Jaune}
-apply_channels[-1] "-apply_curve 1,0,0,128,"$Jaune",255,255",cmy_y,0
-endif
-reverse[-1,-2]
samj_CorLine_B_preview :
-gimp_split_preview "-samj_CorLine_B $*",$-1
#################################################
## ##
## FIN samj_CorLine_B ##
## ##
#################################################
#################################################
## ##
## samj_CorLine ##
## ##
#################################################
# 2015/05/10 origine
#@gimp samj_CorLine : samj_CorLine, samj_CorLine_preview
#@gimp : note = note("samj_CorLine pour vieilles photos d\303\251color\303\251es scann\303\251es \r\nsamj_CorLine for old faded scanned photos")
#@gimp : sep = separator(), note = note("Couleurs")
#@gimp : Balance = int(0,-64,64)
#@gimp : Chroma = int(10,0,50)
#@gimp : sep = separator(), note = note("Nettet\303\251")
#@gimp : Nettet\303\251 A = float(0.5,0,1.5)
#@gimp : Nettet\303\251 B = float(0,0,1.5)
#@gimp : sep = separator(), note = note("R\303\251paration")
#@gimp : Type = choice(0,"Anisotropic","Diffusion")
#@gimp : Amplitude = int(50,0,100)
#@gimp : Repetition(s) = int(1,1,5)
#@gimp : sep = separator(), note = note("Preview")
#@gimp : Type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate horizontal","Duplicate vertical")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/05/10.")
samj_CorLine:
Balance_Couleurs=$1
Chroma_Couleurs=$2
Nettete_A=$3
Nettete_B=$4
Type_Reparation=$5
Amplitude_Reparation=$6
Repetition_Reparation=$7
--Je_passe_l_hiver_en_Floride[0]
-to_rgb[-1]
-gimp_balance_gamma[-1] {127+$Balance_Couleurs},{127+$Balance_Couleurs},{127+$Balance_Couleurs},1
-gimp_boost_chroma[-1] {$Chroma_Couleurs/100},1
-gimp_unsharp_octave[-1] 1,5,$Nettete_A,0,2,0,24
-if {$Type_Reparation==0}
-repeat $Repetition_Reparation
-gimp_anisotropic_smoothing[-1] $Amplitude_Reparation,0.7,0.3,0.6,1.1,0.8,30,2,0,1,1,2
-done
-elif {$Type_Reparation==1}
-repeat $Repetition_Reparation
-gimp_diffusion_smoothing[-1] 0.7,0.3,0.6,{0.5+{$Amplitude_Reparation/100}},15,8,0,0,24
-done
-endif
-if {$Nettete_B>0} -gimp_unsharp_octave[-1] 1,5,$Nettete_B,0,2,0,24 -endif
-reverse[-1,-2]
samj_CorLine_preview :
-gimp_split_preview "-samj_CorLine $*",$-1
#################################################
## ##
## FIN samj_CorLine ##
## ##
#################################################
#################################################################################################################################################################################################
#
# SEQUENCES
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_sequences :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Sequences
#################################################################################################################################################################################################
#
# VARIOUS
#
#################################################################################################################################################################################################
## POUR NE PAS AVOIR DE PROBLÈME AVEC LE SOUS-DOSSIER SUIVANT
samj_rien_various :
-Je_passe_l_hiver_en_Floride[-1]
#@gimp _
#@gimp Various
#################################################################################################################################################################################################
#
# FONCTIONS ET DIVERS
#
#################################################################################################################################################################################################
#### Quelques lettres
#### #@gimp : note = note("10 0 d 1 e 2 f 3 g 4 h 5 i 6 j 7 k 8 l 9 m ")
#### #@gimp : note = note("11 0 n 1 o 2 p 3 q 4 r 5 s 6 t 7 u 8 v 9 w ")
#### #@gimp : note = note("12 0 x 1 y 2 z 3 { 4 | 5 } 6 ~ 7 8 9 ")
#### #@gimp : note = note("13 0 1 2 3
4 5 6 7 8 9 ")
#### #@gimp : note = note("14 0 1 2 3 4 5 6 7 8 9 ")
#### #@gimp : note = note("15 0 1 2 3 4 5 6 7 8 9 ")
#### #@gimp : note = note("16 0 1 ¡ 2 ¢ 3 £ 4 ¤ 5 ¥ 6 ¦ 7 § 8 ¨ 9 © ")
#### #@gimp : note = note("17 0 ª 1 « 2 ¬ 3 4 ® 5 ¯ 6 ° 7 ± 8 ² 9 ³ ")
#### #@gimp : note = note("18 0 ´ 1 µ 2 ¶ 3 · 4 ¸ 5 ¹ 6 º 7 » 8 ¼ 9 ½ ")
#### #@gimp : note = note("19 0 ¾ 1 ¿ 2 À 3 Á 4 Â 5 Ã 6 Ä 7 Å 8 Æ 9 Ç ")
#### #@gimp : note = note("20 0 È 1 É 2 Ê 3 Ë 4 Ì 5 Í 6 Î 7 Ï 8 Ð 9 Ñ ")
#### #@gimp : note = note("21 0 Ò 1 Ó 2 Ô 3 Õ 4 Ö 5 × 6 Ø 7 Ù 8 Ú 9 Û ")
#### #@gimp : note = note("22 0 Ü 1 Ý 2 Þ 3 ß 4 à 5 á 6 â 7 ã 8 ä 9 å ")
#### #@gimp : note = note("23 0 æ 1 ç 2 è 3 é 4 ê 5 ë 6 ì 7 í 8 î 9 ï ")
#### #@gimp : note = note("24 0 ð 1 ñ 2 ò 3 ó 4 ô 5 õ 6 ö 7 ÷ 8 ø 9 ù ")
#### #@gimp : note = note("25 0 ú 1 û 2 ü 3 ý 4 þ 5 ÿ 6 Ā 7 ā 8 Ă 9 ă ")
#### #@gimp : note = note("26 0 Ą 1 ą 2 Ć 3 ć 4 Ĉ 5 ĉ 6 Ċ 7 ċ 8 Č 9 č ")
#### #@gimp : note = note("27 0 Ď 1 ď 2 Đ 3 đ 4 Ē 5 ē 6 Ĕ 7 ĕ 8 Ė 9 ė ")
#### #@gimp : note = note("28 0 Ę 1 ę 2 Ě 3 ě 4 Ĝ 5 ĝ 6 Ğ 7 ğ 8 Ġ 9 ġ ")
#### #@gimp : note = note("29 0 Ģ 1 ģ 2 Ĥ 3 ĥ 4 Ħ 5 ħ 6 Ĩ 7 ĩ 8 Ī 9 ī ")
#### #@gimp : note = note("30 0 Ĭ 1 ĭ 2 Į 3 į 4 İ 5 ı 6 IJ 7 ij 8 Ĵ 9 ĵ ")
#### #@gimp : note = note("31 0 Ķ 1 ķ 2 ĸ 3 Ĺ 4 ĺ 5 Ļ 6 ļ 7 Ľ 8 ľ 9 Ŀ ")
#### #@gimp : note = note("32 0 ŀ 1 Ł 2 ł 3 Ń 4 ń 5 Ņ 6 ņ 7 Ň 8 ň 9 ʼn ")
#### #@gimp : note = note("33 0 Ŋ 1 ŋ 2 Ō 3 ō 4 Ŏ 5 ŏ 6 Ő 7 ő 8 Œ 9 œ ")
#### #@gimp : note = note("34 0 Ŕ 1 ŕ 2 Ŗ 3 ŗ 4 Ř 5 ř 6 Ś 7 ś 8 Ŝ 9 ŝ ")
#### #@gimp : note = note("35 0 Ş 1 ş 2 Š 3 š 4 Ţ 5 ţ 6 Ť 7 ť 8 Ŧ 9 ŧ ")
#### #@gimp : note = note("36 0 Ũ 1 ũ 2 Ū 3 ū 4 Ŭ 5 ŭ 6 Ů 7 ů 8 Ű 9 ű ")
#### #@gimp : note = note("37 0 Ų 1 ų 2 Ŵ 3 ŵ 4 Ŷ 5 ŷ 6 Ÿ 7 Ź 8 ź 9 Ż ")
#### #@gimp : note = note("38 0 ż 1 Ž 2 ž 3 ſ 4 ƀ 5 Ɓ 6 Ƃ 7 ƃ 8 Ƅ 9 ƅ ")
#### #@gimp : note = note("39 0 Ɔ 1 Ƈ 2 ƈ 3 Ɖ 4 Ɗ 5 Ƌ 6 ƌ 7 ƍ 8 Ǝ 9 Ə ")
#### #@gimp : Note = note(0 \303\200 À )
#### #@gimp : Note = note(1 \303\201 Á )
#### #@gimp : Note = note(2 \303\202 Â )
#### #@gimp : Note = note(3 \303\203 )
#### #@gimp : Note = note(4 \303\204 Ä )
#### #@gimp : Note = note(5 \303\205 )
#### #@gimp : Note = note(6 \303\206 AE collés )
#### #@gimp : Note = note(7 \303\207 Ç )
#### #@gimp : Note = note(0 \303\210 È )
#### #@gimp : Note = note(1 \303\211 É )
#### #@gimp : Note = note(2 \303\212 Ê )
#### #@gimp : Note = note(3 \303\213 Ë )
#### #@gimp : Note = note(4 \303\214 Ì )
#### #@gimp : Note = note(5 \303\215 Í )
#### #@gimp : Note = note(6 \303\216 Î )
#### #@gimp : Note = note(7 \303\217 Ï )
#### #@gimp : Note = note(0 \303\220 )
#### #@gimp : Note = note(1 \303\221 )
#### #@gimp : Note = note(2 \303\222 Ò )
#### #@gimp : Note = note(3 \303\223 Ó )
#### #@gimp : Note = note(4 \303\224 Ô )
#### #@gimp : Note = note(5 \303\225 )
#### #@gimp : Note = note(6 \303\226 Ö )
#### #@gimp : Note = note(7 \303\227 )
#### #@gimp : Note = note(0 \303\230 phi )
#### #@gimp : Note = note(1 \303\231 Ù )
#### #@gimp : Note = note(2 \303\232 Ú )
#### #@gimp : Note = note(3 \303\233 Û )
#### #@gimp : Note = note(4 \303\234 Ü )
#### #@gimp : Note = note(5 \303\235 Ý )
#### #@gimp : Note = note(6 \303\236 )
#### #@gimp : Note = note(7 \303\237 bêta )
#### #@gimp : Note = note(0 \303\240 à )
#### #@gimp : Note = note(1 \303\241 á )
#### #@gimp : Note = note(2 \303\242 â )
#### #@gimp : Note = note(3 \303\243 )
#### #@gimp : Note = note(4 \303\244 ä )
#### #@gimp : Note = note(5 \303\245 )
#### #@gimp : Note = note(6 \303\246 ae collés )
#### #@gimp : Note = note(7 \303\247 ç )
#### #@gimp : Note = note(0 \303\250 è )
#### #@gimp : Note = note(1 \303\251 é )
#### #@gimp : Note = note(2 \303\252 ê )
#### #@gimp : Note = note(3 \303\253 ë )
#### #@gimp : Note = note(4 \303\254 ì )
#### #@gimp : Note = note(5 \303\255 í )
#### #@gimp : Note = note(6 \303\256 î )
#### #@gimp : Note = note(7 \303\257 ï )
#### #@gimp : Note = note(0 \303\260 )
#### #@gimp : Note = note(1 \303\261 )
#### #@gimp : Note = note(2 \303\262 ò )
#### #@gimp : Note = note(3 \303\263 ó )
#### #@gimp : Note = note(4 \303\264 ô )
#### #@gimp : Note = note(5 \303\265 ö )
#### #@gimp : Note = note(6 \303\266 )
#### #@gimp : Note = note(7 \303\267 )
#### #@gimp : Note = note(0 \303\270 ù )
#### #@gimp : Note = note(1 \303\271 ú )
#### #@gimp : Note = note(2 \303\272 û )
#### #@gimp : Note = note(3 \303\273 )
#### #@gimp : Note = note(4 \303\274 ý )
#### #@gimp : Note = note(5 \303\275 )
#### #@gimp : Note = note(6 \303\276 )
#### #@gimp : Note = note(7 \303\277 ÿ )
################################################################
## ##
## Fonction trait_epais_samj ##
## ##
################################################################
## Derni\303\250re mise \303\240 jour : 2012/12/26
## Pour tracer un trait avec une certaine épaisseur avec 2 modes pour terminer les extrémités
## appel par :
## -trait_epais_samj Origine_X,Origine_Y,Terminaison_X,Terminaison_Y,Epaisseur,Mode_extremite,R_trait,V_trait,B_trait,A_trait
## gmic 800,800,1,4 -m samj.gmic -trait_epais_samj 750,50,50,750,40,1,255,128,64,255
trait_epais_samj :
# -verbose -
## Variables
# Origine_X=$1
# Origine_Y=$2
# Terminaison_X=$3
# Terminaison_Y=$4
# Demi_epaisseur={$5/2}
# Mode_extremite=$6 # 1 tracer un cercle pour créer des extrémitées arrondies
# R_trait=$7
# V_trait=$8
# B_trait=$9
# A_trait=$10
# -if {{$Terminaison_X-$Origine_X}==0}
# X1={$Origine_X-$Demi_epaisseur}
# Y1=$Origine_Y
# X2={$Terminaison_X-$Demi_epaisseur}
# Y2=$Terminaison_Y
# X3={$Terminaison_X+$Demi_epaisseur}
# Y3=$Terminaison_Y
# X4={$Origine_X+$Demi_epaisseur}
# Y4=$Origine_Y
# -else
# -if {{$Terminaison_Y-$Origine_Y}==0}
# X1=$Origine_X
# Y1={$Origine_Y+$Demi_epaisseur}
# X2=$Terminaison_X
# Y2={$Terminaison_Y+$Demi_epaisseur}
# X3=$Terminaison_X
# Y3={$Terminaison_Y-$Demi_epaisseur}
# X4=$Origine_X
# Y4={$Origine_Y-$Demi_epaisseur}
# -else
# triangle de base
# angle_triangle={{{pi}/2}-{atan({{$Terminaison_Y-$Origine_Y}/{$Terminaison_X-$Origine_X}})}}
# X_triangle={$Demi_epaisseur*{cos($angle_triangle)}}
# Y_triangle={$Demi_epaisseur*{sin($angle_triangle)}}
# déterminer 4 points pour tracer un rectangle
# X1={$Origine_X-$X_triangle}
# Y1={$Origine_Y+$Y_triangle}
# X2={$Terminaison_X-$X_triangle}
# Y2={$Terminaison_Y+$Y_triangle}
# X3={$Terminaison_X+$X_triangle}
# Y3={$Terminaison_Y-$Y_triangle}
# X4={$Origine_X+$X_triangle}
# Y4={$Origine_Y-$Y_triangle}
# -endif
# -endif
# -polygon[-1] 4,$X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4,1,$R_trait,$V_trait,$B_trait,$A_trait
# -if {$Mode_extremite==1}
# -circle[-1] $Origine_X,$Origine_Y,$Demi_epaisseur,1,$R_trait,$V_trait,$B_trait,$A_trait
# -circle[-1] $Terminaison_X,$Terminaison_Y,$Demi_epaisseur,1,$R_trait,$V_trait,$B_trait,$A_trait
# -endif
# # -line[-1] $Origine_X,$Origine_Y,$Terminaison_X,$Terminaison_Y,1,255,255,255,255 # vérification
# -verbose +
## version variables $1,$2,$3,etc.
## Pour tracer une ligne avec une certaine épaisseur et 2 modes pour terminer les extrémités
##
## -stroke Origine_X,Origine_Y,Terminaison_X,Terminaison_Y,Epaisseur,Mode_extremite(1 pour extremitée arrondie),Rouge,Vert,Bleu,Alpha
## gmic 800,800,1,4 -stroke 750,50,50,750,40,1,255,128,64,255
# stroke :
-verbose -
-if {{$3-$1}==0} X1={$1-{$5/2}} Y1=$2 X2={$3-{$5/2}} Y2=$4 X3={$3+{$5/2}} Y3=$4 X4={$1+{$5/2}} Y4=$2
-else
-if {{$4-$2}==0} X1=$1 Y1={$2+{$5/2}} X2=$3 Y2={$4+{$5/2}} X3=$3 Y3={$4-{$5/2}} X4=$1 Y4={$2-{$5/2}}
-else angle_triangle={{{pi}/2}-{atan({{$4-$2}/{$3-$1}})}} X_triangle={{$5/2}*{cos($angle_triangle)}} Y_triangle={{$5/2}*{sin($angle_triangle)}}
X1={$1-$X_triangle} Y1={$2+$Y_triangle} X2={$3-$X_triangle} Y2={$4+$Y_triangle} X3={$3+$X_triangle} Y3={$4-$Y_triangle} X4={$1+$X_triangle} Y4={$2-$Y_triangle}
-endif
-endif
-polygon[-1] 4,$X1,$Y1,$X2,$Y2,$X3,$Y3,$X4,$Y4,1,$7,$8,$9,$10
-if {$6==1} -circle[-1] $1,$2,{$5/2},1,$7,$8,$9,$10 -circle[-1] $3,$4,{$5/2},1,$7,$8,$9,$10 -endif
-verbose +
################################################################
## ##
## FIN Fonction trait_epais_samj ##
## ##
################################################################
#################################################
## ##
## Fonction samj_sierpinski_absolu ##
## ##
#################################################
## Adapatatin de "sierpinski" de David Tschumperlé
## valeurs par défaut : -samj_sierpinski_absolu 7,0,0,10,100,150,20,255,255,0,255 ( -samj_sierpinski_absolu Récursions,Xa,Ya,Xb,Yb,Xc,Yc,R,V,B,A )
## Draw Sierpinski triangle on selected images avec coordonnées absolues et couleur RVBA.
samj_sierpinski_absolu : -check ${1=7}>=0 -skip ${2=0},${3=0},${4=10},${5=100},${6=150},${7=20},${8=255},${9=255},${10=0},${11=255}
-e[^-1] "Draw Sierpinski triangle of degree $1 on image$?."
-v - -_samj_sierpinski_absolu ${2-11},$1 -v +
_samj_sierpinski_absolu :
-if {$11<=0} -polygon 3,$1,$2,$3,$4,$5,$6,1,$7,$8,$9,$10 -return -endif
-_samj_sierpinski_absolu $1,$2,{($1+$3)/2},{($2+$4)/2},{($1+$5)/2},{($2+$6)/2},$7,$8,$9,$10,{$11-1}
-_samj_sierpinski_absolu {($1+$3)/2},{($2+$4)/2},$3,$4,{($3+$5)/2},{($4+$6)/2},$7,$8,$9,$10,{$11-1}
-_samj_sierpinski_absolu {($1+$5)/2},{($2+$6)/2},$5,$6,{($3+$5)/2},{($4+$6)/2},$7,$8,$9,$10,{$11-1}
#################################################
## ##
## Fonction samj_sierpinski_absolu ##
## ##
#################################################
#################################################
## ##
## Fonction samj_snowflake_absolu ##
## ##
#################################################
## Adapatatin de "-snowflake" de David Tschumperlé pour obtenir des triangles avec les valeurs absolues des coordonnées
## 200,200,1,4 -fill_color[-1] 255,0,0,255 -samj_snowflake_absolu[-1] 3,20,20,40,100,100,40,1,192,128,64
samj_snowflake_absolu :
-v -
-to_rgba
-polygon 3,$2,$3,$4,$5,$6,$7,${8--1},255
-_samj_snowflake_absolu $1,$2,$3,$6,$7,${8--1}
-_samj_snowflake_absolu $1,$6,$7,$4,$5,${8--1}
-_samj_snowflake_absolu $1,$4,$5,$2,$3,${8--1}
-v +
_samj_snowflake_absolu :
x0={$2+($4-$2)/3} y0={$3+($5-$3)/3}
x1={$2+2*($4-$2)/3} y1={$3+2*($5-$3)/3}
c={cos(-pi/3)} s={sin(-pi/3)}
x2={$x0+($x1-$x0)*$c-($y1-$y0)*$s} y2={$y0+($x1-$x0)*$s+($y1-$y0)*$c}
-polygon 3,$x0,$y0,$x1,$y1,$x2,$y2,${6--1},255
-if $1
-_samj_snowflake_absolu {$1-1},$2,$3,$x0,$y0,${6--1}
-_samj_snowflake_absolu {$1-1},$x0,$y0,$x2,$y2,${6--1}
-_samj_snowflake_absolu {$1-1},$x2,$y2,$x1,$y1,${6--1}
-_samj_snowflake_absolu {$1-1},$x1,$y1,$4,$5,${6--1}
-endif
#################################################
## ##
## FIN Fonction samj_snowflake_absolu ##
## ##
#################################################
#################################################
## ##
## Fonction samj_snowflake_contours_absolu ##
## ##
#################################################
## Adapatatin de "-snowflake" de David Tschumperlé pour obtenir le contour des triangles avec les valeurs absolues des coordonnées
## 200,200,1,4 -fill_color[-1] 255,0,0,255 -samj_snowflake_contours_absolu[-1] 3,20,20,40,100,100,40,1,192,128,64
samj_snowflake_contours_absolu :
-v -
-to_rgba
-polygon 3,$2,$3,$4,$5,$6,$7,$8,0xFFFFFFFF,$9,$10,$11,255
-_samj_snowflake_contours_absolu $1,$2,$3,$6,$7,${8--1}
-_samj_snowflake_contours_absolu $1,$6,$7,$4,$5,${8--1}
-_samj_snowflake_contours_absolu $1,$4,$5,$2,$3,${8--1}
-v +
_samj_snowflake_contours_absolu :
x0={$2+($4-$2)/3} y0={$3+($5-$3)/3}
x1={$2+2*($4-$2)/3} y1={$3+2*($5-$3)/3}
c={cos(-pi/3)} s={sin(-pi/3)}
x2={$x0+($x1-$x0)*$c-($y1-$y0)*$s} y2={$y0+($x1-$x0)*$s+($y1-$y0)*$c}
-polygon 3,$x0,$y0,$x1,$y1,$x2,$y2,$6,0xFFFFFFFF,${7--1},255
-if $1
-_samj_snowflake_contours_absolu {$1-1},$2,$3,$x0,$y0,${6--1}
-_samj_snowflake_contours_absolu {$1-1},$x0,$y0,$x2,$y2,${6--1}
-_samj_snowflake_contours_absolu {$1-1},$x2,$y2,$x1,$y1,${6--1}
-_samj_snowflake_contours_absolu {$1-1},$x1,$y1,$4,$5,${6--1}
-endif
#################################################
## ##
## FIN Fonction samj_snowflake_contours_absolu ##
## ##
#################################################
###################################################################################################################
## ##
## Appel anciennes fonctions "euclidean2polar" et "polar2euclidean" de G'MIC 1.5.8.6 par David Tschumperlé ##
## ##
###################################################################################################################
## FONCTION twirl_ancien_euclidean2polar_ancien_polar2euclidean
twirl_ancien_euclidean2polar_ancien_polar2euclidean : -skip ${1=1},${2=50%},${3=50%},${4=1}
-e[^-1] "Apply twirl deformation on image$?, with amplitude $1 and center point at ($2%,$3%)."
-v - -euclidean2polar_ancien $2,$3,1,$4 -repeat @#
[$>],[$>],1,1,$1*x -channels[-1] -1,0 -warp[$>] [-1],1,1,2 -rm[-1]
-done -polar2euclidean_ancien $2,$3,1,1 -v +
## FONCTION euclidean2polar_ancien
euclidean2polar_ancien : -skip ${1=0.5},${2=0.5},${3=1},${4=1}
-e[^-1] "Apply euclidean to polar transform on image$?."
-v - -repeat @# -l[$>]
({w},{h}) ($1,$2) -*[-2,-1] ({"sqrt(max("@{-1,0}","@{-2,w}"-"@{-1,0}")^2 + max("@{-1,1}","@{-2,h}"-"@{-1,1}")^2)"})
-a[-2,-1] x
[-2],[-2],1,1,@{-1,2}"*(x/w)^$3*cos(y*2*pi/h)" -+[-1] @{-2,0}
[-1],[-1],1,1,@{-2,2}"*(x/w)^$3*sin(y*2*pi/h)" -+[-1] @{-3,1}
-rm[-3] -a[-2,-1] c -warp[-2] [-1],0,1,$4 -rm[-1]
-endl -done -v +
## FONCTION polar2euclidean_ancien
polar2euclidean_ancien : -skip ${1=0.5},${2=0.5},${3=1},${4=1}
-e[^-1] "Apply polar to euclidean transform on image$?."
-v - -repeat @# -l[$>]
({w},{h}) ($1,$2) -*[-2,-1] ({"sqrt(max("@{-1,0}","@{-2,w}"-"@{-1,0}")^2 + max("@{-1,1}","@{-2,h}"-"@{-1,1}")^2)"})
-a[-2,-1] x
[-2],[-2],1,1,"w*(sqrt((x-"@{-1,0}")^2 + (y-"@{-1,1}")^2)/"@{-1,2}")^(1/$3)"
[-1],[-1],1,1,"(atan2(y-"@{-2,1}",x-"@{-2,0}")*h/(2*pi)+h)%h"
-rm[-3] -a[-2,-1] c -warp[-2] [-1],0,1,$4 -rm[-1]
-endl -done -v +
###################################################################################################################
## ##
## FIN Appel anciennes fonctions "euclidean2polar" et "polar2euclidean" de G'MIC 1.5.8.6 par David Tschumperlé ##
## ##
###################################################################################################################
#################################################################################################################################################################################################
#
# DIVERS
#
#################################################################################################################################################################################################
#@gimp Do nothing : Je_passe_l_hiver_en_Floride, Je_passe_l_hiver_en_Floride
#@gimp : note = note("Note : This filters does nothing on the image. Use it to manipulate layers in conjunction with the input/output options of the G'MIC plug-in.")
#@gimp : sep = separator(), note = note("Author: David Tschumperlé. Latest update: 2010/12/29.")
Je_passe_l_hiver_en_Floride :
#################################################
## ##
## samj_test_A ##
## ##
#################################################
#@gimp samj_test_A : samj_test_A, samj_test_A(1)
#@gimp : note = note("samj_test_A")
#@gimp : A = int(64,0,255)
#@gimp : B = int(192,0,255)
#@gimp : C = int(500,0,10000)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/14.")
samj_test_A :
-or[-1] {$1} -to_rgb[-1] -and[-1] {$2} -smooth[-1] $3 -n[-1] 0,255 -Couleurs_Metalliques[-1] 0,0,22,0,0,0,0,6,5,20,1,0,0,0,0.3,60,1,1,0
#################################################
## ##
## FIN samj_test_A ##
## ##
#################################################
#################################################
## ##
## samj_test_B ##
## ##
#################################################
#@gimp samj_test_B : samj_test_B, gimp_no_preview
#@gimp : note = note("samj_test_B")
#@gimp : A = int(100,10,200)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/15.")
samj_test_B :
-samj_Points_Aleatoires_001[-1] $1,255,255,0,255,3,1,1 --Je_passe_l_hiver_en_Floride[-1] -gimp_flower[-1] 30,6,100,0,50,50,1 -to_rgb[-1] -smooth[-1] 500 -n[-1] 0,255 -Couleurs_Metalliques[-1] 0,0,22,0,0,0,0,6,5,20,1,0,0,0,0.3,60,1,1,0 -gimp_boost_chroma[-1] 1,0,0
#################################################
## ##
## FIN samj_test_B ##
## ##
#################################################
#################################################
## ##
## samj_test_C ##
## ##
#################################################
#@gimp samj_test_C : samj_test_C, gimp_no_preview
#@gimp : note = note("samj_test_C")
#@gimp : A = int(100,10,200)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/16.")
samj_test_C :
-samj_Points_Aleatoires_001[-1] $1,255,255,0,255,3,1,1 --Je_passe_l_hiver_en_Floride[-1] -gimp_segment_watershed[-1] 8,0,0,0,0 -gimp_flower[-1] 10,20,0,360,50,50,1 -Couleurs_Metalliques[-1] 0,0,22,0,0,0,0,6,5,20,1,0,0,0,0.3,60,1,1,0
#################################################
## ##
## FIN samj_test_C ##
## ##
#################################################
#################################################
## ##
## samj_test_D ##
## ##
#################################################
#@gimp samj_test_D : samj_test_D, samj_test_D(1)
#@gimp : note = note("samj_test_D")
#@gimp : Var_sub = float(40,0,255)
#@gimp : Var_n = float(255,0,255)
#@gimp : Var_spread = float(10,0,60)
#@gimp : Var_dilate = float(30,0,60)
#@gimp : Var_blur = float(5,0,20)
#@gimp : D\303\251formation = float(0,0,5)
#@gimp : sep = separator()
#@gimp : Levels = int(8,1,256)
#@gimp : Smoothness = float(0,0,5)
#@gimp : Var_dilate_circ = float(4,0,60)
#@gimp : sep = separator()
#@gimp : Inner fading = float(0,0,100)
#@gimp : Outer fading = float(25,0,100)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/19.")
samj_test_D :
Var_sub=$1
Var_n=$2
Var_spread=$3
Var_dilate=$4
Var_blur=$5
Deformation=$6
Levels=$7
Smoothness=$8
Var_dilate_circ=$9
Inner_fading=$10
Outer_fading=$11
--Je_passe_l_hiver_en_Floride[-1]
-if {$Var_sub>0}
-sub[-1] $Var_sub
-abs[-1]
-endif
-n[-1] 0,$Var_n
-if {$Var_spread>0} -spread[-1] $Var_spread -endif
-if {$Var_dilate>0} -dilate[-1] $Var_dilate -endif
-if {$Var_blur>0} -blur[-1] $Var_blur -endif
-if {$Deformation>0} -deform[-1] $Deformation -endif
-gimp_isophotes[-2] $Levels,$Smoothness,0
-if {$Var_dilate_circ>0} -dilate_circ[-2] $Var_dilate_circ -endif
-gimp_blend_seamless[-2,-1] 0,$Inner_fading,$Outer_fading,0
#################################################
## ##
## FIN samj_test_D ##
## ##
#################################################
#################################################
## ##
## samj_test_E ##
## ##
#################################################
#@gimp samj_test_E : samj_test_E, samj_test_E(1)
#@gimp : note = note("samj_test_E")
#@gimp : note = note("Exemples")
#@gimp : Exemple = choice{"Non/No","A","B","C"}
#@gimp : note = note("diffusiontensors")
#@gimp : sharpness = float(0.7,0,2)
#@gimp : anisotropy = float(0.3,0,1)
#@gimp : alpha = float(0.6,0,10)
#@gimp : sigma = float(1.1,0,10)
#@gimp : is_sqrt = bool(0)
#@gimp : note = note("Blend")
#@gimp : Fond / Background Color = color(200,125,50)
#@gimp : Mode = choice{"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/04.")
samj_test_E :
exemple=$1
sharpness=$2
anisotropy=$3
alpha=$4
sigma=$5
is_sqrt=$6
rf=$7
vf=$8
bf=$9
Mode=$10
Opacity=$11
-if {$exemple==1}
anisotropy=0
alpha=0
sigma=0
-elif {$exemple==2}
anisotropy=0
alpha=4
sigma=0
-elif {$exemple==3}
sharpness=0.5
anisotropy=0.3
alpha=$4
sigma={$sigma/10}
is_sqrt=1
-endif
-diffusiontensors[-1] $sharpness,$anisotropy,$alpha,$sigma,$is_sqrt
-n[-1] 0,255
-equalize[-1]
-gimp_decompose_channels[-1] 4,0,1,0
-remove[-1,-2]
-to_rgb[-1]
-gimp_8bits[-1] 100,10000,256
{w},{h},1,3
-fill_color[-1] $rf,$vf,$bf
-gimp_blend[-1,-2] $Mode,0,$Opacity,0
#################################################
## ##
## FIN samj_test_E ##
## ##
#################################################
#################################################
## ##
## samj_test_F ##
## ##
#################################################
#@gimp samj_test_F : samj_test_F, samj_test_F(1)
#@gimp : note = note("samj_test_F")
#@gimp : note = note("Flou Effet Verre")
#@gimp : A = float(40,0.1,200)
#@gimp : B = float(50,0.1,200)
#@gimp : It\303\251rations = int(1,1,8)
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/04/20.")
samj_test_F :
-repeat $3
-gimp_custom_deformation "cos(x*$1)*$2*sin(y)*(w+h)/10000","cos(y*$1)*$2*sin(x)*(w+h)/10000",1,1,1
-done
#################################################
## ##
## FIN samj_test_F ##
## ##
#################################################
#################################################
## ##
## samj_test_tout_interactif ##
## ##
#################################################
#@gimp Tout interactif : samj_test_tout_interactif, gimp_no_preview
#@gimp : note = note("Demo. Tout interactif")
#@gimp : note = note("")
#@gimp : note = note("2 filtres interactifs successifs : x_paint et threshold")
#@gimp : note = note("x_paint : Choisir un pinceau, appliquer et fermer image")
#@gimp : note = note("threshold : Appliquer la souris et fermer image")
#@gimp : note = note("")
#@gimp : note = note("2 successive interactive filters : x_paint et threshold")
#@gimp : note = note("x_paint : Choose a brush, apply and close picture")
#@gimp : note = note("threshold : Move the mouse and close picture")
#@gimp : note = note("")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/03.")
samj_test_tout_interactif :
-x_paint[-1]
-threshold[-1]
-n[-1] 0,255
#################################################
## ##
## FIN samj_test_tout_interactif ##
## ##
#################################################
#################################################
## ##
## samj_test_x_color_curves ##
## ##
#################################################
#@gimp Test courbes : samj_test_x_color_curves, samj_test_x_color_curves(0)
#@gimp : note = note("Demo. samj_test_x_color_curves")
#@gimp : note = note("")
#@gimp : Utiliser = choice(1,"x_color_curves","gimp_curves_interactive")
#@gimp : Appliquer courbes = choice("Aucun","Appliquer le Dernier","RGB","CMY","CMYK","HSI","HSL","HSV","Lab","Lch","YCbCr")
#@gimp : sep = separator(), note = note("samj - Derni\303\250re mise \303\240 jour : 2015/03/04.")
samj_test_x_color_curves :
Utiliser=$1
Appliquer_courbes=$2
-if {$Utiliser==0}
# Fonctionne uniquement sur des copies d'images (pas sur des images jpg, tif, xcf, etc.)
-if {$Appliquer_courbes==0}
-blur[-1] 5
-elif {$Appliquer_courbes==1} #last
-x_color_curves[-1] last
-elif {$Appliquer_courbes==2} #rgb
-x_color_curves[-1] rgb
-elif {$Appliquer_courbes==3} #cmy
-x_color_curves[-1] cmy
-elif {$Appliquer_courbes==4} #cmyk
-x_color_curves[-1] cmyk
-elif {$Appliquer_courbes==5} #hsi
-x_color_curves[-1] hsi
-elif {$Appliquer_courbes==6} #hsl
-x_color_curves[-1] hsl
-elif {$Appliquer_courbes==7} #hsv
-x_color_curves[-1] hsv
-elif {$Appliquer_courbes==8} #lab
-x_color_curves[-1] lab
-elif {$Appliquer_courbes==9} #lch
-x_color_curves[-1] lch
-elif {$Appliquer_courbes==10} #ycbcr
-x_color_curves[-1] ycbcr
-endif
-else
-if {$Appliquer_courbes==0}
-blur[-1] 5
-elif {$Appliquer_courbes==1} #last
-deform[-1] 20
-elif {$Appliquer_courbes==2} #rgb
-gimp_curves_interactive[-1] 0,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==3} #cmy
-gimp_curves_interactive[-1] 1,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==4} #cmyk erreur
-gimp_curves_interactive[-1] 2,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==5} #hsi
-gimp_curves_interactive[-1] 3,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==6} #hsl
-gimp_curves_interactive[-1] 4,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==7} #hsv
-gimp_curves_interactive[-1] 5,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==8} #lab
-gimp_curves_interactive[-1] 6,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==9} #lch
-gimp_curves_interactive[-1] 7,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-elif {$Appliquer_courbes==10} #ycbcr
-gimp_curves_interactive[-1] 8,0,0,0,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100,-1,0,0,100,100
-endif
-endif
#################################################
## ##
## FIN samj_test_x_color_curves ##
## ##
#################################################
################################################################
## ##
## Recolorize version 2013 01 15 modifiée ##
## ##
################################################################
# Merci à David Tschumperlé pour ce superbe filtre :o)
# présentation du filtre http://www.flickr.com/groups/gmic/discuss/72157632525934815/
#
# modification texte de présentation, ajout nuances niveaux de gris et normalize, ajour dégoulinage, ajout commentaires
#@gimp Recolorize 20130115 : gimp_recolorize_20130115_modifie, gimp_recolorize_20130115_modifie(1)
#@gimp : note = link("http://www.flickr.com/groups/gmic/discuss/72157632525934815/","http://www.flickr.com/groups/gmic/discuss/72157632525934815/")
#@gimp : note = link("http://www.gimpchat.com/viewtopic.php?f=28&t=6207&start=0","http://www.gimpchat.com/viewtopic.php?f=28&t=6207&start=0")
#@gimp : Douceur / Smoothness = float(30,0,200)
#@gimp : Nuances/decompose = choice(0,"Origine","Canal Y de YUV","Canal L de HSL 8","Canal L de LCH","Canal K de CMYK")
#@gimp : \303\211tendue / Normalize A = int(0,0,255)
#@gimp : \303\211tendue / Normalize B = int(255,0,255)
#@gimp : D\303\251goulinade A / Extension Colors A = int(0,0,20)
#@gimp : D\303\251goulinade B / Extension Colors B = float(0,0,10)
#@gimp : Pr\303\251cision = bool(1)
#@gimp : sep = separator()
#@gimp : note = note{"Note : This filter needs two layers to work properly. The bottom layer can be a B&W or a colored image, while the
#@gimp : top layer contains color patches that will be extrapolated in a smart way (edge-directed) to fill the entire image. At the end,
#@gimp : you get a completely recolored image."}
#@gimp : sep = separator(), note = note("Auteur / Author : David Tschumperlé. Derni\303\250re mise \303\240 jour: 2013/01/18 samj.")
gimp_recolorize_20130115_modifie :
Smoothness=$1
Nuances=$2
Normalize_A=$3
Normalize_B=$4
Degoulinade_A=$5
Degoulinade_B=$6
Precision=$7
-rv[-2,-1] # inverser les calques
-dilate_circ[-1] $Degoulinade_A # agrandir
-if {$Nuances==0}
-channels[-2] 0 # Convert to pure gray.
-elif {$Nuances==1}
-gimp_decompose_channels[-2] 4,0,1,0 -remove[-2,-3] ## modif samj pour obtenir des nuances différentes à partir d'une image couleurs >> Canal Y de YUV
-elif {$Nuances==2}
-to_rgb[-2] -rgb2hsl8[-2] -split[-2] c -rm[-3,-4] ## idem >> Canal L de HSL
-elif {$Nuances==3}
-to_rgb[-2] -rgb2lab8[-2] -split[-2] c -rm[-2,-3] ## idem >> Canal L de LCH
-elif {$Nuances==4}
-to_rgb[-2] -rgb2cmyk[-2] -split[-2] c -rm[-3,-4,-5] -negative[-2] ## idem >> Canal K inversé de CMYK
-endif
-to_rgb[-2] -to_rgba[-1] # conversion modes
-n[-2] $Normalize_A,$Normalize_B
-split_opacity[-1] # création d'une nouvelle image où les couleurs deviennent blanches.
-neq[-1] 0 # Retrieve mask of color patchs. La 3 image est un masque de 2 couleurs où l'espace occupé par les couleurs d'origine est un peu plus grand.
# il y a 3 images : -3=l'image grise -2=les couleurs -1=le masque
-srgb2rgb[-3,-2] # conversion modes
-rgb2lab8[-3,-2] # conversion modes
-channels[-3] 0 # on garde un seul canal, image -3 devient grise
-channels[-2] 1,2 # Now, list is [0]=lightness / [1]=chroma / [2]=mask.
-+[-2] 1 # ? (dans Gimp, utiliser mode différence et courbes pour voir l'effet)
-*[-2] [-1] # mélange *
--gradient_norm[-3] # création d'une 4 image qui est contours de image 3
-blur[-1] $Degoulinade_B # flou
-*[-1] -1 # image 4 négative
-watershed[-3] [-1] # image 2 (chroma) se remplit de couleurs (les couleurs s'étendent aux limites définies par l'image 4)
-rm[-1] # supprimer image 4 des contours
--[-2] 1 # enlever les traits ? (dans Gimp, utiliser mode différence et courbes pour voir l'effet)
# Get first estimate for the color interpolation.
-if {$Precision==1}
### permet de bien définir les contours
--diffusiontensors[-3] 0,1,1,1 # création d'une image diffusion tensors 4 à partir de l'image grise 1
-eq[-2] 0 # masque = fond blanc, traits de couleurs noirs sur console
-*[-1] [-2] # mélange masque et diffusion tensors
-rm[-2] # supprimer masque
-smooth[-2] [-1],$Smoothness,0.8,45,2,0 # adoucir image 2 (chroma)
### FIN permet de bien définir les contours
-endif
-rm[-1] # supprimer diffusion tensors
-a[-2,-1] c # append c
-lab82rgb[-1] # conversion modes
-rgb2srgb[-1] # conversion modes
################################################################
## ##
## FIN Recolorize version 2013 01 15 modifiée ##
## ##
################################################################
#################################################################################################################################################################################################
#
# FIN Testing Samj
#
#################################################################################################################################################################################################
#@gimp _
#@gimp _
#@gimp _
#################################################################################################################################################################################################
#
# RÉPERTOIRE PRINCIPAL DES FILTRES "Stables" EN ANGLAIS - ARRAYS & TILES
#
#################################################################################################################################################################################################
#@gimp Arrays & tiles
#################################################
## ##
## Cercles_Concentriques_A_en ##
## ##
#################################################
#@gimp Concentric Circles A En : Cercles_Concentriques_A_en, Cercles_Concentriques_A_en(1)
#@gimp : sep = separator(), note = note("Resulting Image")
#@gimp : Dimensions Pixels = int(800,256,1920)
#@gimp : Delete Layer Source = bool(1)
#@gimp : note = note("Circles Rings")
#@gimp : Nb Circles (Rings) = int(6,1,180)
#@gimp : Change Circles Size = choice(0,"Sin. A","Sin. B","Linear")
#@gimp : Initial Size = float(0,0,180)
#@gimp : Final Size = float(90,0,180)
#@gimp : Coefficient Of Variation = float(1,-1,1)
#@gimp : Rotate Clockwise (outside towards center)= bool(1)
#@gimp : Shift % = float(50,0,500)
#@gimp : Keep Outside Of Circles = bool(1)
#@gimp : note = note("Colored Rays And Contours")
#@gimp : ENABLE COLORED RAYS vs BACKGROUND IMAGE = bool(1)
#@gimp : note = note(" - Contours - ")
#@gimp : Contours = color(0,0,0,255)
#@gimp : Display = choice(0,"No","Rays and Circles","Rays","Circles")
#@gimp : Dilate = int(0,0,16)
#@gimp : Blur = float(0,0,5)
#@gimp : Sharpen = int(0,0,600)
#@gimp : note = note(" - Colors - ")
#@gimp : Colors Repeating (Rays) = int(5,1,180)
#@gimp : Angle Tilt = float(0,0,360)
#@gimp : Color A = color(0,0,255,255)
#@gimp : Color B = color(255,255,0,255)
#@gimp : Color C = color(255,0,0,255)
#@gimp : Color D = color(0,255,255,255)
#@gimp : Color E = color(255,0,255,255)
#@gimp : Random Colors = bool(0)
#@gimp : Blend Layers Colors & Contours = bool(1)
#@gimp : note = note("Symmetrizoscope")
#@gimp : Enable Symmetrizoscope = bool(0)
#@gimp : Iterations = int(5,1,32)
#@gimp : Angle = float(0,0,360)
#@gimp : Symmetry sides = choice("Backward","Forward","Swap")
#@gimp : sep = separator(), note = note("samj - Update : 2015/04/26.")
Cercles_Concentriques_A_en:
-Cercles_Concentriques_A $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42,$43,$44,$45,$46,$47
#################################################
## ##
## FIN Cercles_Concentriques_A_en ##
## ##
#################################################
#################################################
## ##
## Annular_Steiner_Chain_Round_Tile_en ##
## ##
#################################################
#@gimp Annular Steiner Chain Round Tiles En : Annular_Steiner_Chain_Round_Tile_en, Annular_Steiner_Chain_Round_Tile_en(1)
#@gimp : note = note("Annular Steiner Chain Round Tiles")
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Resulting Image")
#@gimp : Dimensions Pixels = int(800,256,1920)
#@gimp : Delete Layer Source = bool(1)
#@gimp : sep = separator(), note = note("Image")
#@gimp : Position X Origin (%) = float(0,0,100)
#@gimp : Position Y Origin (%) = float(0,0,100)
#@gimp : Dimensions (%) = float(100,1,100)
#@gimp : Angle Image Contour = float(0,0,360)
#@gimp : Image Contour Dimensions = float(100,1,100)
#@gimp : Nb Circles Surrounding = int(12,3,180)
#@gimp : Angle Tilt = float(0,0,360)
#@gimp : sep = separator(), note = note("Colors Geometric Shapes")
#@gimp : Activate Colors Geometric Shapes = bool(1)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Display Contours = choice(0,"No","A","B","C","D","E","F","G")
#@gimp : Circle 1 = color(255,255,0,127)
#@gimp : Circle 2 = color(0,0,255,127)
#@gimp : Random Colors = bool(0)
#@gimp : sep = separator(), note = note("samj - Update : 2015/04/21.")
Annular_Steiner_Chain_Round_Tile_en:
-Annular_Steiner_Chain_Round_Tile $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24
#################################################
## ##
## FIN Annular_Steiner_Chain_Round_Tile_en ##
## ##
#################################################
#################################################
## ##
## samj_en_Coeurs_Hearts_002 ##
## ##
#################################################
#@gimp Hearts En : samj_en_Coeurs_Hearts_002, samj_en_Coeurs_Hearts_002(1)
#@gimp : Sep = separator(), note = note("Hearts")
#@gimp : Resolution = int(16,4,128)
#@gimp : Filling % = float(100,20,100)
#@gimp : Tilt = int(0,0,360)
#@gimp : Blur = float(0,0,2)
#@gimp : Hearts = bool(1)
#@gimp : Interpolation = int(0,0,3)
#@gimp : Background Color = color(255,255,255,255)
#@gimp : Grey = bool(0)
#@gimp : Colors Boost = bool(0)
#@gimp : Sep = separator(), note = note("Blend")
#@gimp : Type Foreground = choice(0,"Type A","Type B")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/13.")
samj_en_Coeurs_Hearts_002 :
-samj_Coeurs_Hearts_002 $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15
#################################################
## ##
## FIN samj_en_Coeurs_Hearts_002 ##
## ##
#################################################
#@gimp _
#@gimp _
#@gimp _
#################################################################################################################################################################################################
#
# RÉPERTOIRE PRINCIPAL DES FILTRES "Stables" EN ANGLAIS - ARTISTIC
#
#################################################################################################################################################################################################
#@gimp Artistic
#################################################
## ##
## samj_texture_coloree_en ##
## ##
#################################################
# 2015/04/13 ajout Richardson Lucy pour la version en anglais
#@gimp Variations on a single color En : samj_texture_coloree_en, samj_texture_coloree_en(1)
#@gimp : note = note("Variations On A Single Color")
#@gimp : note = note("Diffusion Tensors")
#@gimp : Type = choice{"A","B","C","D","E","F"}
#@gimp : Sharpness = float(0.7,0.2,1)
#@gimp : note = note("Color")
#@gimp : Single Color = color(200,125,50)
#@gimp : note = note("Blur Linear")
#@gimp : Amplitude A = float(5,0,10)
#@gimp : Amplitude B = float(5,0,100)
#@gimp : Angle = float(45,0,360)
#@gimp : note = note("Sharpen")
#@gimp : Amplitude S = int(200,50,1000)
#@gimp : note = note("Blend")
#@gimp : Iterations = int(4,1,8)
#@gimp : Opacity = float(0.2,0,0.3)
#@gimp : note = note("Richardson Lucy")
#@gimp : Sigma = float(1,0.5,10)
#@gimp : Iterations = int(10,0,100)
#@gimp : Blur = choice(1,"Exponential","Gaussian")
#@gimp : Cut = bool(true)
#@gimp : sep = separator(), note = note("samj - Update : 2015/04/13.")
samj_texture_coloree_en :
-samj_texture_coloree $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11
-if {$13>0} # Iterations
-deblur_richardsonlucy[-1] $12,$13,$14
-if $15 -c[-1] 0,255 -else -n[-1] 0,255 -endif
-endif
#################################################
## ##
## FIN samj_texture_coloree_en ##
## ##
#################################################
################################################################
## ##
## samj_Barbouillage_Paint_Daub_en ##
## ##
################################################################
#@gimp Paint Daub En : samj_Barbouillage_Paint_Daub_en, samj_Barbouillage_Paint_Daub_en(1)
#@gimp : note = note("Paint Daub - Barbouillage")
#@gimp : sep = separator(), note = note("Gradient Norm")
#@gimp : Iterations = int(2,1,3)
#@gimp : sep = separator(), note = note("Smooth")
#@gimp : Amplitude = int(2,1,5)
#@gimp : Sharpness = int(100,0,500)
#@gimp : Anisotropy = float(0.2,0,0.5)
#@gimp : Sigma = float(1,0,10)
#@gimp : dl = float(4,0,10)
#@gimp : sep = separator(), note = note("Equalize")
#@gimp : Equalize = bool(1)
#@gimp : sep = separator(), note = note("Random Plasma")
#@gimp : Plasma = choice(0,"Without","Colors A","Colors B")
#@gimp : Scale Plasma = int(8,1,30)
#@gimp : sep = separator(), note = note("samj Update : 2015/04/17.")
samj_Barbouillage_Paint_Daub_en :
-samj_Barbouillage_Paint_Daub $1,$2,$3,$4,$5,$6,$7,$8,$9
################################################################
## ##
## FIN samj_Barbouillage_Paint_Daub_en ##
## ##
################################################################
################################################################
## ##
## samj_Angoisse_en ##
## ##
################################################################
#@gimp Anguish En : samj_Angoisse_en, samj_Angoisse_en(1)
#@gimp : Note = note("Iterations")
#@gimp : Iterations = int(1,1,3)
#@gimp : Note = note("Dog")
#@gimp : Sigma 1 = float(5,0,10)
#@gimp : Sigma 2 = float(0,0,10)
#@gimp : Note = note("Segment Watershed")
#@gimp : Threshold = float(5,0,10)
#@gimp : Note = note("Smooth")
#@gimp : Amplitude = float(100,0,200)
#@gimp : Note = note("Noise")
#@gimp : Amplitude = float(2,0,10)
#@gimp : Type = choice(4,"Gaussian","Uniform","Salt and pepper","Poisson","Rice")
#@gimp : Note = note("Blend")
#@gimp : Opacity = float(1,0,1)
#@gimp : Note = note("Sharpen")
#@gimp : Amplitude = int(250,0,500)
#@gimp : sep = separator(), note = note("samj Update : 2015/03/27.")
samj_Angoisse_en :
-samj_Angoisse $1,$2,$3,$4,$5,$6,$7,$8,$9
################################################################
## ##
## FIN samj_Angoisse_en ##
## ##
################################################################
#################################################
## ##
## Engrave_colore_en ##
## ##
#################################################
#@gimp Colored Engraving En : Engrave_colore_en, Engrave_colore_en(1)
#@gimp : Note = note("Adaptation of the filter created by Lyle Kroll and David Tschumperlé")
#@gimp : Note = note("Colored Engraving - samj 20150322")
#@gimp : sep = separator()
#@gimp : Examples = choice(0,"None","A","B","C","D ***","E","F","G")
#@gimp : sep = separator()
#@gimp : Note = note("Engraving")
#@gimp : Radius = float(0.5,0,2)
#@gimp : Density = float(4,0,10)
#@gimp : Edges = float(0,0,10)
#@gimp : Coherence = float(8,0,40)
#@gimp : Threshold (%) = float(40,0,100)
#@gimp : Minimal area = int(0,-256,256)
#@gimp : Repetition = int(25,0,50)
#@gimp : sep = separator()
#@gimp : Note = note("Anti-aliasing")
#@gimp : Anti-aliasing = choice(1,"Disabled","A","B","C")
#@gimp : sep = separator()
#@gimp : Note = note("Colors")
#@gimp : Engraving = choice(2,"Foreground Color","Image - With Contours Of Colors 8","Image - With Contours Of Colors 16","Image - With Contours Of Colors 32","Image - With Contours Of Colors 64","Image - Without Contours Of Colors 8","Image - Without Contours Of Colors 16","Image - Without Contours Of Colors 32","Image - Without Contours Of Colors 64","Image - Without Contours Of Colors 8/3 Layers","Image - Without Contours Of Colors 16/3 Layers","Image - Without Contours Of Colors 32/3 Layers","Image - Without Contours Of Colors 64/3 Layers")
#@gimp : Foreground Color = color(0,0,0)
#@gimp : Background Color = color(255,255,255)
#@gimp : Sep = separator(), note = note("Authors: Lyle Kroll and David Tschumperlé . Latest update: 2015/03/23.")
Engrave_colore_en :
-Engrave_colore $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16
#################################################
## ##
## FIN Engrave_colore_en ##
## ##
#################################################
################################################################
## ##
## Début ensemble Chalk it up ##
## ##
################################################################
#@gimp Chalk it up En : samj_en_chalkitup, samj_en_chalkitup_preview
#@gimp : note = note("Inspired by the tutorial proposed by Lylejk")
#@gimp : note = link("http://justpaste.it/chalk_it_up","http://justpaste.it/chalk_it_up")
#@gimp : sep = separator(), note = note("Painting parameters")
#@gimp : Abstraction = int(5,0,10)
#@gimp : Details scale = float(2.5,0,10)
#@gimp : Color = float(1.5,0,5)
#@gimp : Smoothness = float(50,0,200)
#@gimp : Sharpen shades = bool(1)
#@gimp : sep = separator(), note = note("Morpho parameters")
#@gimp : Action = choice(5,"Erosion","Dilation","Opening","Closing","Original - Erosion","Dilation - Original","Original - Opening","Closing - Original")
#@gimp : Size = int(5,0,32)
#@gimp : Invert colors = bool(0)
#@gimp : Shape = int(0,0,1)
#@gimp : Channel(s) = choice(7,"All","RGBA [all]","RGB [all]","RGB [red]","RGB [green]","RGB [blue]","RGBA [alpha]","Linear RGB [all]","Linear RGB [red]","Linear RGB [green]","Linear RGB [blue]","YCbCr [luminance]","YCbCr [blue-red chrominances]","YCbCr [blue chrominance]","YCbCr [red chrominance]","YCbCr [green chrominance]","Lab [lightness]","Lab [ab-chrominances]","Lab [a-chrominance]","Lab [b-chrominance]","Lch [ch-chrominances]","Lch [c-chrominance]","Lch [h-chrominance]","HSV [hue]","HSV [saturation]","HSV [value]","HSI [intensity]","HSL [lightness]","CMYK [cyan]","CMYK [magenta]","CMYK [yellow]","CMYK [key]")
#@gimp : sep = separator(), note = note("Param\303\250tres filtre Spread / Spread parameters")
#@gimp : X-variations = float(0.8,-5,5)
#@gimp : Y-variations = float(1.9,-5,5)
#@gimp : Channel(s) = choice(7,"All","RGBA [all]","RGB [all]","RGB [red]","RGB [green]","RGB [blue]","RGBA [alpha]","Linear RGB [all]","Linear RGB [red]","Linear RGB [green]","Linear RGB [blue]","YCbCr [luminance]","YCbCr [blue-red chrominances]","YCbCr [blue chrominance]","YCbCr [red chrominance]","YCbCr [green chrominance]","Lab [lightness]","Lab [ab-chrominances]","Lab [a-chrominance]","Lab [b-chrominance]","Lch [ch-chrominances]","Lch [c-chrominance]","Lch [h-chrominance]","HSV [hue]","HSV [saturation]","HSV [value]","HSI [intensity]","HSL [lightness]","CMYK [cyan]","CMYK [magenta]","CMYK [yellow]","CMYK [key]")
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate horizontal","Duplicate vertical")
#@gimp : sep = separator(), note = note("Auteurs / Authors : Lylejk/samj/Ronounours. Update : 2015/04/01.")
samj_en_chalkitup :
-samj_chalkitup $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13
samj_en_chalkitup_preview :
-gimp_split_preview "-samj_en_chalkitup ${1--2}",$-1
################################################################
## ##
## FIN Début ensemble Chalk it up ##
## ##
################################################################
#################################################
## ##
## Texture Granuleuse ##
## ##
#################################################
#@gimp Granular Texture En : samj_en_Texture_Granuleuse, samj_en_Texture_Granuleuse_preview(0)
#@gimp : note = note("Granular Texture")
#@gimp : sep = separator()
#@gimp : Smoothness Gradient RGB = float(0,0.5,2)
#@gimp : Max threshold Gradient RGB = float(20,10,50)
#@gimp : sep = separator()
#@gimp : Noise = float(80.0,40,200)
#@gimp : sep = separator()
#@gimp : Colors = float(0,-20,20)
#@gimp : Automatic color balance = bool(0)
#@gimp : sep = separator()
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate horizontal","Duplicate vertical")
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/31.")
samj_en_Texture_Granuleuse :
-samj_Texture_Granuleuse $1,$2,$3,$4,$5
samj_en_Texture_Granuleuse_preview :
-gimp_split_preview "-samj_en_Texture_Granuleuse $*",$-1
#################################################
## ##
## FIN Texture Granuleuse ##
## ##
#################################################
#@gimp _
#@gimp _
#@gimp _
#################################################################################################################################################################################################
#
# RÉPERTOIRE PRINCIPAL DES FILTRES "Stables" EN ANGLAIS - BLACK & WHITE
#
#################################################################################################################################################################################################
#@gimp Black & white
################################################################
## ##
## XY_hardsketchbw_samj_en ##
## ##
################################################################
#@gimp Hard sketch XY En : XY_hardsketchbw_samj_en, XY_hardsketchbw_samj_en(0)
#@gimp : sep = separator(), note = note("Parameters - Hard Sketch BW")
#@gimp : XY = float(0.2,0,1)
#@gimp : Amplitude = float(300,0,4000)
#@gimp : Density = float(50,0,100)
#@gimp : Smoothness = float(1,0,10)
#@gimp : Opacity = float(0.1,0,1)
#@gimp : Edge = float(20,0,100)
#@gimp : Fast approximation = bool(0)
#@gimp : Color model = choice("Black on white","White on black","Black on transparent white","White on transparent black","Color on white")
#@gimp : sep = separator(), note = note("Layers")
#@gimp : Nb. = choice(0,"1 : XY","2 : XY + Hard Sketch BW Normal")
#@gimp : sep = separator(), note = note("Sharpen")
#@gimp : Octave Sharpening = bool(0)
#@gimp : sep = separator(), note = note("XY_hardsketch Color")
#@gimp : Color = color(180,40,160,255)
#@gimp : Fill = bool(0)
#@gimp : sep = separator(), note = note("samj Update : 2015/03/10.")
XY_hardsketchbw_samj_en :
-XY_hardsketchbw_samj $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15
################################################################
## ##
## FIN XY_hardsketchbw_samj_en ##
## ##
################################################################
#@gimp _
#@gimp _
#@gimp _
#################################################################################################################################################################################################
#
# RÉPERTOIRE PRINCIPAL DES FILTRES "Stables" EN ANGLAIS - COLORS
#
#################################################################################################################################################################################################
#@gimp Colors
################################################################
## ##
## Couleurs_Metalliques_samj_en ##
## ##
################################################################
#@gimp Couleurs Metalliques En : Couleurs_Metalliques_samj_en, Couleurs_Metalliques_samj_en_preview
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Transparence / transparency = choice(0,"Preserve","Remove")
#@gimp : Rendering = choice("YCbCr [luminance]","Lab [lightness]","HSV [value]","HSL [lightness]","Linear RGB [all]","RGB [all]","RGB [all]")
#@gimp : sep = separator(), note = note("Noise parameters")
#@gimp : Amplitude = float(22,0,200)
#@gimp : Noise type = choice("Gaussian","Uniform","Salt and pepper","Poisson")
#@gimp : Value range = choice("Cut","Normalize")
#@gimp : sep = separator(), note = note("Local normalization parameters")
#@gimp : Effect x 2 = bool(0)
#@gimp : Amplitude = float(0,0,60)
#@gimp : Radius = int(6,1,64)
#@gimp : Neighborhood smoothness = float(5,0,40)
#@gimp : Average smoothness = float(20,0,40)
#@gimp : Constrain values = bool(1)
#@gimp : Channel(s) = choice(0,"All","RGBA [all]","RGB [all]","RGB [red]","RGB [green]","RGB [blue]","RGBA [alpha]","Linear RGB [all]","Linear RGB [red]","Linear RGB [green]","Linear RGB [blue]","YCbCr [luminance]","YCbCr [blue-red chrominances]","YCbCr [blue chrominance]","YCbCr [red chrominance]","YCbCr [green chrominance]","Lab [lightness]","Lab [ab-chrominances]","Lab [a-chrominance]","Lab [b-chrominance]","Lch [ch-chrominances]","Lch [c-chrominance]","Lch [h-chrominance]","HSV [hue]","HSV [saturation]","HSV [value]","HSI [intensity]","HSL [lightness]","CMYK [cyan]","CMYK [magenta]","CMYK [yellow]","CMYK [key]")
#@gimp : sep = separator(), note = note("Boost-Fade parameters : If Amplitude Sup. 0")
#@gimp : Amplitude = float(0,0,10)
#@gimp : sep = separator(), note = note("PhotoComix Options")
#@gimp : Use PC Options = bool(0)
#@gimp : Pencilbw Size = float(0.3,0,5)
#@gimp : Pencilbw Amplitude = float(60,0,200)
#@gimp : Blend Opacity = float(1,0,1)
#@gimp : Blend Revert layers = bool(1)
#@gimp : sep = separator()
#@gimp : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate horizontal","Duplicate vertical")
#@gimp : sep = separator(), note = note("samj Update : 2015/03/31.")
Couleurs_Metalliques_samj_en :
-Couleurs_Metalliques $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18
Couleurs_Metalliques_samj_en_preview :
-gimp_split_preview "-Couleurs_Metalliques_samj_en ${1--2}",$-1
################################################################
## ##
## FIN Couleurs_Metalliques_samj_en ##
## ##
################################################################
#@gimp _
#@gimp _
#@gimp _
#################################################################################################################################################################################################
#
# RÉPERTOIRE PRINCIPAL DES FILTRES "Stables" EN ANGLAIS - DEGRADATIONS
#
#################################################################################################################################################################################################
#@gimp Degradations
################################################################
## ##
## samj_Zones_Grises_en ##
## ##
################################################################
#@gimp Deteriorated Areas En : samj_Zones_Grises_en, samj_Zones_Grises_en(1)
#@gimp : note = note("Contours")
#@gimp : Iterations = int(3,1,10)
#@gimp : Type = choice(0,"A","B","C")
#@gimp : Variations = float(3,1,10)
#@gimp : note = note("Blend")
#@gimp : Iterations = int(4,1,8)
#@gimp : Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj Update : 2015/04/04.")
samj_Zones_Grises_en :
-samj_Zones_Grises $1,$2,$3,$4,$5
################################################################
## ##
## FIN samj_Zones_Grises_en ##
## ##
################################################################
#@gimp _
#@gimp _
#@gimp _
#################################################################################################################################################################################################
#
# RÉPERTOIRE PRINCIPAL DES FILTRES "Stables" EN ANGLAIS - PATTERNS
#
#################################################################################################################################################################################################
#@gimp Patterns
################################################################
## ##
## Denim_samj_en ##
## ##
################################################################
#@gimp Denim En : Denim_samj_en, Denim_samj_en(0)
#@gimp : sep = separator(), note = note("Texture")
#@gimp : Dimension A = int(5,2,30)
#@gimp : Dilate = int(2,0,5)
#@gimp : Flip The Pattern = bool(0)
#@gimp : Noise A = int(40,0,200)
#@gimp : Noise B = int(40,0,200)
#@gimp : Noise C = int(25,0,100)
#@gimp : Noise D = int(50,0,100)
#@gimp : Sharpness = float(0,0,500)
#@gimp : sep = separator(), note = note("Color")
#@gimp : Denim = color(43,108,126,255)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/31.")
Denim_samj_en :
-Denim_samj $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12
################################################################
## ##
## FIN Denim_samj_en ##
## ##
################################################################
#################################################
## ##
## Courtepointe ##
## ##
#################################################
#@gimp Random Pattern Courtepointe En : samj_en_Courtepointe, gimp_no_preview
#@gimp : note = note("Random Pattern")
#@gimp : sep = separator()
#@gimp : Parameter 1 = int(20,1,100)
#@gimp : Parameter 2 = bool(0)
#@gimp : Repeat = int(1,1,5)
#@gimp : Cross = bool(0)
#@gimp : Texture = bool(1)
#@gimp : Color Curves = choice("RGB","CMY","CMYK","HSI","HSL","HSV","Lab","Lch","YCbCr")
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/07.")
samj_en_Courtepointe :
-samj_Courtepointe $1,$2,$3,$4,$5,$6
#################################################
## ##
## FIN Courtepointe ##
## ##
#################################################
#@gimp _
#@gimp _
#@gimp _
#################################################################################################################################################################################################
#
# RÉPERTOIRE PRINCIPAL DES FILTRES "Stables" EN ANGLAIS - RENDERING
#
#################################################################################################################################################################################################
#@gimp Rendering
#################################################
## ##
## samj_Adjacent_Annular_Steiner_Chains_en ##
## ##
#################################################
#@gimp Adjacent Annular Steiner Chains En : samj_Adjacent_Annular_Steiner_Chains_en, samj_Adjacent_Annular_Steiner_Chains_en(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Angle Tilt = float(0,0,360)
#@gimp : Alpha Channel = bool(0)
#@gimp : sep = separator(), note = note("Circles")
#@gimp : Radius Center Circle = float(6,-100,100)
#@gimp : Nb Circles Surrounding = int(56,7,360)
#@gimp : sep = separator(), note = note("Rings")
#@gimp : Nb Rings = int(20,1,100)
#@gimp : Offset Angle % = float(50,-100,100)
#@gimp : Change Increment % = float(0,-100,200)
#@gimp : sep = separator(), note = note("Color Circles")
#@gimp : Color A = color(255,0,221,127)
#@gimp : Color B = color(72,0,255,127)
#@gimp : Color C = color(0,145,255,127)
#@gimp : Color D = color(0,255,144,127)
#@gimp : Color E = color(72,255,0,127)
#@gimp : Color F = color(255,217,0,127)
#@gimp : Color G = color(255,0,0,127)
#@gimp : Choice Of Colors = choice(5,"Colors AB","Colors ABC","Colors ABCD","Colors ABCDE","Colors ABCDEF","Colors ABCDEFG","Chronological Order ABCDEFG")
#@gimp : Variations Of Colors = float(0,-2,2)
#@gimp : Random colors = choice(0,"No","A","B","C")
#@gimp : sep = separator(), note = note("Contours")
#@gimp : Display Contours = choice(2,"No","A","B","C","D","E")
#@gimp : Contours = color(0,0,0,255)
#@gimp : Dilate = int(0,0,16)
#@gimp : Blur = float(0,0,5)
#@gimp : Sharpen = int(0,0,600)
#@gimp : sep = separator(), note = note("samj - Update : 2015/05/02.")
samj_Adjacent_Annular_Steiner_Chains_en :
-samj_Adjacent_Annular_Steiner_Chains $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42,$43,$44,$45,$46,$47,$48
#################################################
## ##
## FIN samj_Adjacent_Annular_Steiner_Chains_en ##
## ##
#################################################
#################################################
## ##
## Twisted_Rays_en ##
## ##
#################################################
#@gimp Twisted Rays En : Twisted_Rays_en, Twisted_Rays_en(1)
#@gimp : note = note("Resulting Image")
#@gimp : Dimensions Pixels = int(800,256,1920)
#@gimp : Delete Layer Source = bool(1)
#@gimp : Twirl = float(0.2,-5,5)
#@gimp : Blend Rays = choice(2,"Add","And","Average","Darken","Difference","Edges","Grainextract","Grainmerge","Multiply","Negation","Or","Screen","Softburn","Softdodge","Subtract","Xor","- NO -")
#@gimp : Rendu = choice(5,"Rays Colors AB","Rays Colors ABC","Rays Colors ABCD","Rays Colors ABCDE","Rays Colors ABCDEF","Rays Colors ABCDEFG")
#@gimp : note = note("Colored Rays")
#@gimp : Number Of Rays = int(21,3,360)
#@gimp : Offset Angle Rays Layer 1 = float(0,-360,360)
#@gimp : Offset Angle Rays Layer 2 = float(0,-360,360)
#@gimp : Color A = color(0,0,255,255)
#@gimp : Color B = color(0,255,255,255)
#@gimp : Color C = color(0,255,0,255)
#@gimp : Color D = color(255,255,0,255)
#@gimp : Color E = color(255,0,0,255)
#@gimp : Color F = color(255,0,255,255)
#@gimp : Color G = color(255,255,255,255)
#@gimp : Random colors = bool(0)
#@gimp : note = note("Contours")
#@gimp : Contours = color(0,0,0,255)
#@gimp : Display = bool(0)
#@gimp : Dilate = int(2,1,16)
#@gimp : Blur = float(2,0,5)
#@gimp : Sharpen = int(0,200,400)
#@gimp : note = note("Symmetrizoscope")
#@gimp : Activer Symmetrizoscope = bool(0)
#@gimp : Iterations = int(5,1,32)
#@gimp : Angle = float(0,0,360)
#@gimp : Symmetry sides = choice("Backward","Forward","Swap")
#@gimp : sep = separator(), note = note("samj - Update : 2015/04/27.")
Twisted_Rays_en:
-Twisted_Rays $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42,$43,$44,$45,$46,$47,$48,$49
#################################################
## ##
## FIN Twisted_Rays_en ##
## ##
#################################################
################################################################
## ##
## Tracer des traits autour d'un point ##
## ##
################################################################
#@gimp Lines around a point En : Traits_Strokes_samj_en, Traits_Strokes_samj_en(1)
#@gimp : sep = separator(), note = note("Origine")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Lines")
#@gimp : Length (>0 %W) (<0 $H) = float(35,-400,400)
#@gimp : Variations (Length) = choice(0,"No","A","B","C","D")
#@gimp : Variations % (Length) = float(100,0,1000)
#@gimp : Distance From The Center (>0 %W) (<0 $H) = float(0,-400,400)
#@gimp : Number of Lines = int(30,1,2160)
#@gimp : Angle (Start) = float(0,0,360)
#@gimp : Angle (End) = float(360,0,360)
#@gimp : Color= color(240,60,120,255)
#@gimp : Color variation = choice("No","Random colors","Poorly nuanced","Moderately nuanced","Highly nuanced")
#@gimp : Thickness = int(0,0,32)
#@gimp : sep = separator(), note = note("Symmetry")
#@gimp : Symmetry = bool(0)
#@gimp : Length (%) = float(20,0,100)
#@gimp : sep = separator(), note = note("Distorsions")
#@gimp : Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : Deform = float(0,0,25)
#@gimp : sep = separator(), note = note("Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/15.")
Traits_Strokes_samj_en:
-Traits_Strokes_samj $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22
################################################################
## ##
## FIN Tracer des traits autour d'un point ##
## ##
################################################################
################################################################
## ##
## Spirographe EN ##
## ##
################################################################
#@gimp Spirograph En : Spirographe_samj_en, Spirographe_samj_en(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Spirograph")
#@gimp : sep = separator(), note = note("Center")
#@gimp : Center X (%) = float(50,0,100)
#@gimp : Center Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Spirographe")
#@gimp : Radius R (>0 W) (<0 H) = float(200,-500,500)
#@gimp : Radius r (>0 W) (<0 H) = float(50,-500,500)
#@gimp : Pen (Position) (>0 W) (<0 H) = float(150,-500,500)
#@gimp : Pen (Color) = color(192,128,64,255)
#@gimp : Pen (Color variation) = choice("No change","Random colors","Poorly nuanced","Moderately nuanced","Highly nuanced")
#@gimp : Pen (Dilate Pixels) = int(0,0,32)
#@gimp : Number of turns = float(3,0.01,20)
#@gimp : Iterations = choice(0,"Turns * 1","Turns * 10 SLOW","Turns * 100 VERY SLOW")
#@gimp : Angular increment (Degr\303\251s) = float(1,1,360)
#@gimp : Divide = choice(0,"Angular increment / 1","Angular increment /10 SLOW","Angular increment /100 VERY SLOW")
#@gimp : Rendering = choice("Formula 1","Formula 2","Formula 3","Formula 4","Formula 5","Formula 6","Formula 7","Formula 8")
#@gimp : Points (Radius) = int(0,0,32)
#@gimp : Points (Color) = color(255,0,0,255)
#@gimp : Lines (Thickness) = int(0,0,32)
#@gimp : Lines (Color) = color(255,255,0,255)
#@gimp : sep = separator(), note = note("Distorsions")
#@gimp : Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : Deform = float(0,0,25)
#@gimp : sep = separator(), note = note("Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/15.")
Spirographe_samj_en :
-Spirographe_samj $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31
################################################################
## ##
## FIN Spirographe EN ##
## ##
################################################################
################################################################
## ##
## Harmonograph EN ##
## ##
################################################################
#@gimp Harmonograph En : Harmonograph_samj_en, Harmonograph_samj_en(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Harmonograph")
#@gimp : sep = separator(), note = note("Center")
#@gimp : Center X (%) = float(50,0,100)
#@gimp : Center Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Harmonograph")
#@gimp : Pen (Color) = color(192,128,64,255)
#@gimp : Pen (Color variation) = choice("No change","Random colors","Poorly nuanced","Moderately nuanced","Highly nuanced")
#@gimp : Pen (Dilate Pixels) = int(0,0,32)
#@gimp : It\303\251rations = int(1000,2,30000)
#@gimp : Iterations = choice(0,"Iterations * 1","Iterations * 5 SLOW","Iterations * 10 VERY SLOW")
#@gimp : Time increment [*10000]= float(400,10,500)
#@gimp : sep = separator(), note = note("Amplitude")
#@gimp : Amplitude 1 (>0 W) (<0 H) = float(150,-1000,1000)
#@gimp : Amplitude 2 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 3 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 4 (>0 W) (<0 H) = float(100,-1000,1000)
#@gimp : sep = separator(), note = note("Frequency")
#@gimp : Frequency 1 = float(4,0,16)
#@gimp : Frequency 2 = float(6,0,16)
#@gimp : Frequency 3 = float(2,0,16)
#@gimp : Frequency 4 = float(2,0,16)
#@gimp : sep = separator(), note = note("Phase")
#@gimp : Phase 1 = float(15,0,360)
#@gimp : Phase 2 = float(270,0,360)
#@gimp : Phase 3 = float(75,0,360)
#@gimp : Phase 4 = float(60,0,360)
#@gimp : sep = separator(), note = note("Damping")
#@gimp : Damping 1 = float(0.04,0,1)
#@gimp : Damping 2 = float(0.04,0,1)
#@gimp : Damping 3 = float(0.05,0,1)
#@gimp : Damping 4 = float(0.06,0,1)
#@gimp : sep = separator(), note = note("Distorsions")
#@gimp : Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : Deform = float(0,0,25)
#@gimp : sep = separator(), note = note("Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/15.")
Harmonograph_samj_en :
-Harmonograph_samj $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32
################################################################
## ##
## FIN Harmonograph EN ##
## ##
################################################################
################################################################
## ##
## Pintograph_samj EN ##
## ##
################################################################
#@gimp Pintograph En : Pintograph_samj_en, Pintograph_samj_en(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Pintograph")
#@gimp : sep = separator(), note = note("Center")
#@gimp : Center X (%) = float(50,0,100)
#@gimp : Center Y (%) = float(50,0,100)
#@gimp : sep = separator(), note = note("Pintograph")
#@gimp : Pen (Color) = color(192,128,64,255)
#@gimp : Pen (Color variation) = choice("No change","Random colors","Poorly nuanced","Moderately nuanced","Highly nuanced")
#@gimp : Pen (Dilate Pixels) = int(0,0,32)
#@gimp : It\303\251rations = int(1000,2,30000)
#@gimp : Iterations = choice(0,"Iterations * 1","Iterations * 5 SLOW","Iterations * 10 VERY SLOW")
#@gimp : Time increment [*10000]= float(400,10,500)
#@gimp : sep = separator(), note = note("Amplitude")
#@gimp : Amplitude 1 (>0 W) (<0 H) = float(150,-1000,1000)
#@gimp : Amplitude 2 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 3 (>0 W) (<0 H) = float(200,-1000,1000)
#@gimp : Amplitude 4 (>0 W) (<0 H) = float(100,-1000,1000)
#@gimp : sep = separator(), note = note("Frequency")
#@gimp : Frequency 1 = float(4.00,0,16)
#@gimp : Frequency 2 = float(4.05,0,16)
#@gimp : Frequency 3 = float(4.16,0,16)
#@gimp : Frequency 4 = float(4.32,0,16)
#@gimp : sep = separator(), note = note("Phase")
#@gimp : Phase 1 = float(75,0,360)
#@gimp : Phase 2 = float(150,0,360)
#@gimp : Phase 3 = float(75,0,360)
#@gimp : Phase 4 = float(60,0,360)
#@gimp : sep = separator(), note = note("Distorsions")
#@gimp : Blur = float(0,0,10)
#@gimp : Spread = float(0,0,10)
#@gimp : Deform = float(0,0,25)
#@gimp : sep = separator(), note = note("Blend")
#@gimp : Mode = choice{1,"Add","Alpha","And","Average","Blue","Burn","Darken","Difference",
#@gimp : "Divide","Dodge","Edges","Exclusion","Freeze","Grain extract","Grain merge","Green","Hard light",
#@gimp : "Hard mix","Hue","Interpolation","Lighten","Lightness","Linear burn","Linear light","Luminance",
#@gimp : "Multiply","Negation","Or","Overlay","Pin light","Red","Reflect","Saturation",
#@gimp : "Shape Average","Shape Average0","Soft burn","Soft dodge","Soft light","Screen","Stamp","Subtract","Value",
#@gimp : "Vivid light","Xor"}
#@gimp : Opacity = float(1,0,1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/15.")
Pintograph_samj_en :
-Pintograph_samj $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28
################################################################
## ##
## FIN Pintograph_samj EN ##
## ##
################################################################
#################################################
## ##
## Des_Lignes_002 ##
## ##
#################################################
#@gimp Straight Lines En : samj_en_Des_Lignes_002, samj_en_Des_Lignes_002(1)
#@gimp : sep = separator(), note = note("Straight Lines")
#@gimp : Sep = separator(), note = note("Lines parameters")
#@gimp : Number Of Lines = int(100,1,4096)
#@gimp : Random Colors = bool(0)
#@gimp : Gray = bool(0)
#@gimp : Color = color(192,128,64,255)
#@gimp : Symmetry = int(0,0,3)
#@gimp : Effect = choice(0,"1","2","3","4","5","6","7","8","9","10","11","12")
#@gimp : Extend = float(1,1,10)
#@gimp : Sep = separator(), note = note("Effect 12")
#@gimp : Origine X (% w) = float(50,-400,400)
#@gimp : Origine Y (% h) = float(50,-400,400)
#@gimp : Sep = separator(), note = note("Distorsions")
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Sep = separator(), note = note("Blend")
#@gimp : Blend = bool(1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/09.")
samj_en_Des_Lignes_002 :
-samj_Des_Lignes_002 $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17
#################################################
## ##
## FIN Des_Lignes_002 ##
## ##
#################################################
#################################################
## ##
## Formes_Geometriques_Simples ##
## ##
#################################################
#@gimp Simple Geometric Shapes En : samj_en_Formes_Geometriques_Simples, samj_en_Formes_Geometriques_Simples(0)
#@gimp : Sep = separator(), note = note("Simple Geometric Shapes")
#@gimp : Sep = separator(), note = note("Effect")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : External Color = color(127,127,127,127)
#@gimp : Interior Color = color(255,255,0,255)
#@gimp : Color Contour = color(0,0,255,255)
#@gimp : Forme / Shape = choice(5,"Joined polygon Dimension 1","Joined polygon Dimension 2","Circle / Ellipse","Star Dimension 1","Star Dimension 2","Polygon Star Dimension 1","Polygon Star Dimension 2")
#@gimp : Dimension 1 (% Width) = float(40,0,400)
#@gimp : Dimension 2 (% Height) = float(40,0,400)
#@gimp : Number Of Sides = int(4,3,26)
#@gimp : Tilt = float(0,0,120)
#@gimp : Dilate = int(0,0,48)
#@gimp : Blend = bool(1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/09.")
samj_en_Formes_Geometriques_Simples :
-samj_Formes_Geometriques_Simples $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21
#################################################
## ##
## FIN Formes_Geometriques_Simples ##
## ##
#################################################
#################################################
## ##
## Flocon_De_Neige ##
## ##
#################################################
#@gimp Snowflake En : samj_en_Flocon_De_Neige, samj_en_Flocon_De_Neige(1)
#@gimp : note = note("Ah! comme la neige a neigé! Soir d'hiver / Ėmile Nelligan")
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Rays = int(6,3,12)
#@gimp : Radius Outer Circle A (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Radius Middle Circle = float(40,1,100)
#@gimp : Tilt = float(0,0,360)
#@gimp : Contours recursion = int(3,0,5)
#@gimp : Contours = color(192,192,192)
#@gimp : Opacity Contours = float(1,0,1)
#@gimp : Display Contours = choice(0,"Non / No","Contours + Flocon/Snowflake","Contours")
#@gimp : Snowflake recursion = int(3,0,5)
#@gimp : Snowflake = color(255,255,255)
#@gimp : Opacity Snowflake = float(0.7,0,1)
#@gimp : Type Snowflake = choice(0,"A","B","C","A2","B2","C2")
#@gimp : Random Colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Shadow = bool(0)
#@gimp : X-Shadow = float(0.5,-5,5)
#@gimp : Y-Shadow = float(0.5,-5,5)
#@gimp : Smoothness Shadow = float(1.8,0,5)
#@gimp : Curvature Shadow = float(0,0,1)
#@gimp : Shadow Offset X = float(0,-20,20)
#@gimp : Shadow Offset Y = float(0,-20,20)
#@gimp : Alpha channel = bool(0))
#@gimp : sep = separator(), note = note("samj - Update : 2014/04/24.")
samj_en_Flocon_De_Neige :
-samj_Flocon_De_Neige $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32
#################################################
## ##
## FIN Flocon_De_Neige ##
## ##
#################################################
#################################################
## ##
## Cercles_Tangents_Dans_Cercle ##
## ##
#################################################
#@gimp Pappus Chain En : samj_en_Cercles_Tangents_Dans_Cercle, samj_en_Cercles_Tangents_Dans_Cercle(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Pappus_chain","http://en.wikipedia.org/wiki/Pappus_chain")
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Radius Outer Circle A (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Radius first circle B = float(40,0,99)
#@gimp : Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Display Contours = bool(1)
#@gimp : Outer Circle A = color(127,127,127,127)
#@gimp : First Circle B = color(255,0,0,127)
#@gimp : Circle C = color(0,255,0,127)
#@gimp : Circle D = color(0,0,255,127)
#@gimp : Circle E = color(255,0,255,127)
#@gimp : Circle F = color(255,255,0,127)
#@gimp : Circle G = color(0,255,255,127)
#@gimp : Circle H = color(192,128,64,127)
#@gimp : Circle I = color(64,192,128,127)
#@gimp : Circle J = color(128,64,192,127)
#@gimp : Circle K = color(192,64,128,127)
#@gimp : Random Colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Shadow = bool(0)
#@gimp : X-Shadow = float(0.5,-5,5)
#@gimp : Y-Shadow = float(0.5,-5,5)
#@gimp : Smoothness Shadow = float(1.8,0,5)
#@gimp : Curvature Shadow = float(0,0,1)
#@gimp : Shadow Offset X = float(0,-20,20)
#@gimp : Shadow Offset Y = float(0,-20,20)
#@gimp : Alpha channel = bool(0))
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/08.")
samj_en_Cercles_Tangents_Dans_Cercle :
-samj_Cercles_Tangents_Dans_Cercle $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42,$43,$44,$45,$46,$47,$48,$49,$50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$60,$61,$62,$63,$64,$65,$66,$67,$68
#################################################
## ##
## FIN Cercles_Tangents_Dans_Cercle ##
## ##
#################################################
#################################################
## ##
## Annular_Steiner_Chains ##
## ##
#################################################
#@gimp Annular Steiner Chains En : samj_en_Annular_Steiner_Chains, samj_en_Annular_Steiner_Chains(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Steiner_chain","http://en.wikipedia.org/wiki/Steiner_chain")
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Radius Outer Circle A (>0 W%) (<0 H%) = float(50,-400,400)
#@gimp : Nb Circles Surrounding = int(6,3,360)
#@gimp : Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Display Contours = choice(1,"Sans","CE CI CA","CE CI CA CC","CE CI CA CC CT","CE CI CA CT","CE CA","CI CA","CA")
#@gimp : Exterior Circle A = color(255,255,0,127)
#@gimp : Centre Circle B = color(64,192,128,127)
#@gimp : Circle C = color(0,255,0,127)
#@gimp : Circle D = color(0,0,255,127)
#@gimp : Random Colors = bool(0)
#@gimp : Inversions = int(0,0,3)
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Shadow = bool(0)
#@gimp : X-Shadow = float(0.5,-5,5)
#@gimp : Y-Shadow = float(0.5,-5,5)
#@gimp : Smoothness Shadow = float(1.8,0,5)
#@gimp : Curvature Shadow = float(0,0,1)
#@gimp : Shadow Offset X = float(0,-20,20)
#@gimp : Shadow Offset Y = float(0,-20,20)
#@gimp : Alpha channel = bool(0))
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/08.")
samj_en_Annular_Steiner_Chains :
-samj_Annular_Steiner_Chains $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40
#################################################
## ##
## FIN Annular_Steiner_Chains ##
## ##
#################################################
#################################################
## ##
## Hawaiian_Earring ##
## ##
#################################################
#@gimp Hawaiian Earring En : samj_en_Hawaiian_Earring, samj_en_Hawaiian_Earring(1)
#@gimp : note = link("http://en.wikipedia.org/wiki/Hawaiian_earring","http://en.wikipedia.org/wiki/Hawaiian_earring")
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Position X (%) = float(50,0,100)
#@gimp : Position Y (%) = float(50,0,100)
#@gimp : Circle A Radius (%) = float(40,1,200)
#@gimp : Nb Circles = int(6,2,25)
#@gimp : Type n = choice(0,"Inc 1","Lin 0.1","Lin 0.2","Lin 0.3","Rand")
#@gimp : Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Display Contours = bool(1)
#@gimp : Circle A = color(255,255,0,127)
#@gimp : Circles B = color(0,0,255,127)
#@gimp : Random Colors = bool(0)
#@gimp : Mirror = choice(0,"Sans - Wihout"," X "," Y "," X Y ")
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Shadow = bool(0)
#@gimp : X-Shadow = float(0.5,-5,5)
#@gimp : Y-Shadow = float(0.5,-5,5)
#@gimp : Smoothness Shadow = float(1.8,0,5)
#@gimp : Curvature Shadow = float(0,0,1)
#@gimp : Shadow Offset X = float(0,-20,20)
#@gimp : Shadow Offset Y = float(0,-20,20)
#@gimp : Alpha channel = bool(0)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/06.")
samj_en_Hawaiian_Earring :
-samj_Hawaiian_Earring $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33
#################################################
## ##
## FIN Hawaiian_Earring ##
## ##
#################################################
#################################################
## ##
## Rectangles_Adjacents ##
## ##
#################################################
#@gimp Adjacent Rectangles En : samj_en_Rectangles_Adjacents, samj_en_Rectangles_Adjacents(1)
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : X Top Left = float(10,-100,100)
#@gimp : Y Top Left = float(10,-100,100)
#@gimp : X Down Right = float(80,0,100)
#@gimp : Y Down Right = float(80,0,100)
#@gimp : Type / Location Contact = choice(0,"Haut - Top","Bas - Down","Gauche - Left","Droite - Right")
#@gimp : Position Contact = float(50,0,100)
#@gimp : Nb Rectangles = int(6,2,25)
#@gimp : Type n = choice(0,"Inc 1","Lin 0.1","Lin 0.2","Lin 0.3","Rand","M1","M2")
#@gimp : Tilt = float(0,0,360)
#@gimp : Contours = color(0,0,0,255)
#@gimp : Display Contours = bool(1)
#@gimp : Rectangle A = color(255,255,0,127)
#@gimp : Rectangle B = color(0,0,255,127)
#@gimp : Random Colors = bool(0)
#@gimp : Mirror = choice(0,"Sans - Wihout"," X "," Y "," X Y ")
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Shadow = bool(0)
#@gimp : X-Shadow = float(0.5,-5,5)
#@gimp : Y-Shadow = float(0.5,-5,5)
#@gimp : Smoothness Shadow = float(1.8,0,5)
#@gimp : Curvature Shadow = float(0,0,1)
#@gimp : Shadow Offset X = float(0,-20,20)
#@gimp : Shadow Offset Y = float(0,-20,20)
#@gimp : Alpha channel = bool(0)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/06.")
samj_en_Rectangles_Adjacents :
-samj_Rectangles_Adjacents $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36
#################################################
## ##
## FIN Rectangles_Adjacents ##
## ##
#################################################
#################################################
## ##
## Linear_Gradient_CIE_Lab ##
## ##
#################################################
#@gimp Gradient CIE Lab [linear] En : samj_en_Linear_Gradient_CIE_Lab, samj_en_Linear_Gradient_CIE_Lab(1)
#@gimp : sep = separator(), note = note("Gradient CIE Lab")
#@gimp : Type H / V = choice(0,"H","V")
#@gimp : Swap colors = bool(0)
#@gimp : Starting color A = color(240,40,160,255)
#@gimp : Ending color B = color(240,240,40,255)
#@gimp : sep = separator(), note = note("samj - Latest update : 2015/03/02.")
samj_en_Linear_Gradient_CIE_Lab :
-samj_Linear_Gradient_CIE_Lab $1,$2,$3,$4,$5,$6,$7,$8,$9,$10
#################################################
## ##
## FIN Linear_Gradient_CIE_Lab ##
## ##
#################################################
#################################################
## ##
## Shape_Linear_Gradient_CIE_Lab ##
## ##
#################################################
#@gimp Gradient CIE Lab [shape] En : samj_en_Shape_Linear_Gradient_CIE_Lab, samj_en_Shape_Linear_Gradient_CIE_Lab(1)
#@gimp : note = note("Gradient CIE Lab")
#@gimp : sep = separator(), note = note("Starting Point / Diameter :")
#@gimp : X0 = float(10,0,100)
#@gimp : Y0 = float(10,0,100)
#@gimp : Note = note("Ending Point / Center :")
#@gimp : X1 = float(90,0,100)
#@gimp : Y1 = float(90,0,100)
#@gimp : Note = note("Parameters :")
#@gimp : Shape = choice(2,"Linear H","Linear V","Square","Square Overflow","Circle X0","Circle X0+YO")
#@gimp : Swap colors = bool(0)
#@gimp : Starting color A = color(240,40,160,255)
#@gimp : Ending color B = color(240,240,40,255)
#@gimp : Background = choice(0,"Image","Transparent","Color")
#@gimp : Background color = color(0,0,0,255)
#@gimp : Examples = choice(0,"None","10 10 90 90 Linear H","10 10 90 90 Linear V","10 10 90 90 Square","10 10 90 90 Square Overflow","40 40 50 50 Circle X0","40 40 50 50 Circle X0+YO","71 71 100 100 Circle X0+YO")
#@gimp : sep = separator(), note = note("samj - Latest update : 2014/04/29.")
samj_en_Shape_Linear_Gradient_CIE_Lab :
-samj_Shape_Linear_Gradient_CIE_Lab $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20
#################################################
## ##
## FIN Shape_Linear_Gradient_CIE_Lab ##
## ##
#################################################
#################################################
## ##
## Chryzodes_en ##
## ##
#################################################
#@gimp Chryzodes En : samj_en_Chryzodes, samj_en_Chryzodes(1)
#@gimp : note = link("http://www.chryzode.org/fr/ligne.htm","http://www.chryzode.org/fr/ligne.htm")
#@gimp : sep = separator(), note = note("New Image")
#@gimp : Image Dimensions = float(100,30,400)
#@gimp : Background Color = color(0,0,0,255)
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Examples = choice(0,"None","431/7/VC=0","353/3/VC=0","619/4/VC=0","691/12/VC=0","613/20/VC=0","358/13/VC=1","118/20/VC=1","699/6/VC=0")
#@gimp : X Position (%) = float(50,0,100)
#@gimp : Y Position (%) = float(50,0,100)
#@gimp : External Circle Radius = float(45,10,200)
#@gimp : Number of Points - Module = int(79,10,1080)
#@gimp : Multiplier = int(3,3,33)
#@gimp : First Point = int(1,1,1080)
#@gimp : Color Straight Lines = color(240,128,64,255)
#@gimp : Tilt Angle = float(0,-360,360)
#@gimp : Type Straight Lines = choice(0,"Lines Inside The Circle","Over The Entire Image")
#@gimp : Random colors = choice(0,"None","Variations","Lines")
#@gimp : sep = separator(), note = note("Variations Rendering Image Filter")
#@gimp : Variations A = int(0,0,1080)
#@gimp : Variations B = int(0,0,3)
#@gimp : Variation C = bool(0)
#@gimp : sep = separator(), note = note("Changes Rendering Image Filter")
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Draw The Circle = bool(0)
#@gimp : sep = separator(), note = note("samj - Latest update : 2015/03/03.")
samj_en_Chryzodes :
-samj_Chryzodes $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27
#################################################
## ##
## FIN Chryzodes_en ##
## ##
#################################################
#################################################
## ##
## Cercles_Qui_Tournent ##
## ##
#################################################
#@gimp Rotating Circles En : samj_en_Cercles_Qui_Tournent, samj_en_Cercles_Qui_Tournent(1)
#@gimp : note = note("Rotating Circles")
#@gimp : sep = separator(), note = note("New Image")
#@gimp : Dimension Image = int(800,2,32768)
#@gimp : Background = color(255,255,255,255)
#@gimp : sep = separator(), note = note("Examples")
#@gimp : Examples = choice(0,"No","A","B","C","D","E","F")
#@gimp : sep = separator(), note = note("Param. X")
#@gimp : Cax = float(1,0.5,2)
#@gimp : Cbx = float(0.5,0.05,5)
#@gimp : Ccx = float(0.33,0.05,5)
#@gimp : Vbx = int(7,-50,50)
#@gimp : Vcx = int(17,-50,50)
#@gimp : sep = separator(), note = note("Param. Y")
#@gimp : Cay = float(1,0.5,2)
#@gimp : Cby = float(0.5,0.05,5)
#@gimp : Ccy = float(0.33,0.05,5)
#@gimp : Vby = int(7,-50,50)
#@gimp : Vcy = int(17,-50,50)
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Equality : Param. X & Param. Y = bool(1)
#@gimp : Theta = int(10,1,5000)
#@gimp : Line = color(0,0,0,255)
#@gimp : Tilt = float(0,-360,360)
#@gimp : Random Colors = bool(0)
#@gimp : Blur = float(0,0,5)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform = float(0,0,5)
#@gimp : Noise = float(0,0,200)
#@gimp : Shadow = bool(0)
#@gimp : X-Shadow = float(0.5,-5,5)
#@gimp : Y-Shadow = float(0.5,-5,5)
#@gimp : Smoothness Shadow = float(1.8,0,5)
#@gimp : Curvature Shadow = float(0,0,1)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/05.")
samj_en_Cercles_Qui_Tournent :
-samj_Cercles_Qui_Tournent $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33
#################################################
## ##
## FIN Cercles_Qui_Tournent ##
## ##
#################################################
#################################################
## ##
## samj_en_Lignes_Epaisseur_Variable ##
## ##
#################################################
#@gimp Lines of varying thickness En : samj_en_Lignes_Epaisseur_Variable, samj_en_Lignes_Epaisseur_Variable(1)
#@gimp : note = note("Lines Of Varying Thickness")
#@gimp : sep = separator(), note = note("Rendering")
#@gimp : Lines = choice(0,"Vertical lines","Horizontal lines")
#@gimp : Resolution Width = int(32,16,64)
#@gimp : Line Thickness = int(3,1,7)
#@gimp : Background = color(0,0,0,255)
#@gimp : Line = color(255,255,255,255)
#@gimp : Invert Background-Line = bool(0)
#@gimp : Random Colors = bool(0)
#@gimp : Resize = choice(1,"No","Dim. Origines")
#@gimp : Blur = int(0,0,200)
#@gimp : Deblur = int(0,0,48)
#@gimp : Dilate = int(0,0,48)
#@gimp : Deform / Deform = float(0,0,5)
#@gimp : Noise = float(0,0,100)
#@gimp : Shadow = bool(0)
#@gimp : X-Shadow = float(0.5,-5,5)
#@gimp : Y-Shadow = float(0.5,-5,5)
#@gimp : Smoothness Shadow = float(1.8,0,5)
#@gimp : Curvature Shadow = float(0,0,1)
#@gimp : Alpha channel = bool(0)
#@gimp : sep = separator(), note = note("samj - Update : 2015/03/05.")
samj_en_Lignes_Epaisseur_Variable :
-samj_Lignes_Epaisseur_Variable $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25
#################################################
## ##
## FIN samj_en_Lignes_Epaisseur_Variable ##
## ##
#################################################
#@gimp _
#@gimp _
#@gimp _
###################################
###################################
###################################
#
###
#
############ ### #### ###
############ ### ##### ###
### ### ###### ###
### ### ### ### ###
###### ### ### ### ###
###### ### ### ### ###
### ### ### ### ###
### ### ### ######
### ### ### #####
### ### ### ####
###################################
###################################
###################################