Un jour dieu créa l'homme et la femme, d’abord l'homme puis la femme !

En ce qui me concerne, j'ai crée un code (c'est déjà beaucoup car en plus il marche mais comment, c'est une autre histoire

Ensuite dieux leurs dit, soyer fécond et devenez nombreux, replissez la terre et blablabl

Moi aussi !, j'ai dis a mon code, soit fécond et donne moi toutes les couleur qu'il y a dans cette image (au choix)

Bin tous va bien, tous se déroule comme prévus sauf que...
Il fut un jour ou l'homme tiré de la poussière ainsi que la femme se mette a désobéir a dieu et dieu leurs demanda des compte puis les bannie
du paradis ou ils étais condamner a se débrouillé tous seule par la suite et a souffrir et a nous refiler leurs défaut par la même occasion

Non, je ne vous fait pas un court sur la bible !, j’essaie juste de vous expliquer que...

Bin, j'comprends rien a s'te foutue code a la noix que pourtant l'homme tirer de la poussière (moi en l’occurrence) a pourtent crée
alors imaginer si dieu, comme moi (ce qui lui est surement arriver) ne comprends plus rien a sa propre création

Il se dit alors:
"mais c'est pas vrais, c'est moi qui est crée ste daube là !

Il fais bien se que je lui dis mais...
Quand je cherche a savoir comment il marche (a se qu'il me rende des compte), bin jy comprends plus rien"
J'aurais du me flinguer se jours là p'têtre qui sais

Bon tous ça tatoin pour vous mètre dans le bain de code (pas long hein, juste 3000 ligne de code pour me dire en fin de compte "tien voilà ta daube, maintenant démerde toi"

Bon pas la peine de faire un livre sur se code là, je déclare juste mes variable et ma map qui sert à...
Code : Tout sélectionner
Global NewMap CouleurImage.l(100000000)
Global NombreCouleur
Global EnumerationCouleur$
Code : Tout sélectionner
Procedure.l NombreCouleurImage(NumeroImage.l, NomImage$)
UsePNGImageDecoder()
UseJPEG2000ImageDecoder()
UseJPEGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()
If LoadImage(Image.l, NomImage$)
If IsImage(Image.l)
LargeurImage = ImageWidth(Image)
HauteurImage = ImageHeight(Image)
StartDrawing(ImageOutput(Image))
DrawingMode(#PB_2DDrawing_AlphaBlend)
X = 0
Y = 0
Repeat
Couleur = Point(X, Y)
CouleurImage(Str(Couleur))
Clee$ = MapKey(CouleurImage())
If Clee$ = Str(Couleur)
NombreCouleurTrouver = CouleurImage(Str(Couleur))
NombreCouleurTrouver + 1
CouleurImage(Str(Couleur)) = NombreCouleurTrouver
Else
CouleurImage(Str(Couleur)) = 1
EndIf
If X <> (LargeurImage - 1)
X + 1
Else
X = 0
Y + 1
EndIf
Until X = (LargeurImage - 1) And Y = (HauteurImage - 1)
StopDrawing()
ForEach CouleurImage()
NombreCouleur + 1
Next
ForEach CouleurImage()
Clee$ = MapKey(CouleurImage())
Rouge = Red(Val(Clee$))
Vert = Green(Val(Clee$))
Bleu = Blue(Val(Clee$))
Alpha = Alpha(Val(Clee$))
EnumerationCouleur$ + "RGB(" + Str(Rouge) + ", " + Str(Vert) + ", " + Str(Bleu) + ", " + Str(Alpha) + ") a été utiliser " + Str(CouleurImage()) + " Fois" + Chr(13) + Chr(10)
Next
FreeMap(CouleurImage())
ProcedureReturn NombreCouleur
EndIf
EndIf
ProcedureReturn 0
EndProcedure
Code : Tout sélectionner
T1 = ElapsedMilliseconds()
NombreCouleurImage(1, "Sans titre 9.png")
T2 = ElapsedMilliseconds()
Code : Tout sélectionner
EnumerationCouleur$ + Chr(13) + Chr(10)
EnumerationCouleur$ + "Nombre de couleur dans l'image = " + Str(NombreCouleur) + Chr(13) + Chr(10)
EnumerationCouleur$ + "Temps de traitement = " + Str(T2 - T1) + " MilliSecondes" + Chr(13) + Chr(10)
SetClipboardText(EnumerationCouleur$)
MessageRequester("Information", " Les informations ont été placer dans le presse papier !", 64)

Code : Tout sélectionner
Couleur = Point(X, Y)
CouleurImage(Str(Couleur))
Clee$ = MapKey(CouleurImage())
If Clee$ = Str(Couleur)
NombreCouleurTrouver = CouleurImage(Str(Couleur))
NombreCouleurTrouver + 1
CouleurImage(Str(Couleur)) = NombreCouleurTrouver
Else
CouleurImage(Str(Couleur)) = 1
EndIf
Je regarde la couleur qu'est le pixel
Ensuite je met comme clé a la map str(couleur)
Je prends la clé actuel de la map (sa sert a quoi sa, a rien

Pourquoi faire simple quand on peut faire compliquer hein !
Moi maintenant je ferais plutôt un truc du genre:
Code : Tout sélectionner
Clee$ = Str(Couleur)
Code : Tout sélectionner
If Clee$ = Str(Couleur)

Donc la condition se ferra a chaque fois !
Mais attendez un peut qu'on rigole deux minute:
Code : Tout sélectionner
NombreCouleurTrouver = CouleurImage(Str(Couleur))
NombreCouleurTrouver + 1
CouleurImage(Str(Couleur)) = NombreCouleurTrouver

Alors elle prends le nombre de fois que la couleurs y est ?

NombreCouleurTrouver + 1 pour dire oui c'est la même couleur donc + 1 oki pour ici
Ensuite on réinitialise la valeur de la map (nombre de fois de la couleur), mouais on va dire ça

Non mais sérieux, c'est vraiment un code de ouf ça, je sais plus qui à dit sa, je crois bien que c'est KCC:
En revoyan un code qu'on a crée, on jurerais que c'est pas nous qui l'avont crée
Mais il se trompe a mon sujet, je sais que c'est moi le pauvre type qui a crée se pauvre code a balle deux mais la vrais question est:
Pourquoi j'ai fais comme ça

Se code est une pure daube et je vais le mètre directe au oubliette pour en recrée un bien plus "logique"
Désoler de tous se bazar pour trois fois rien !
Je comprends pas ceci:
Code : Tout sélectionner
NombreCouleurTrouver = CouleurImage(Str(Couleur))
mais je sais que c'est pas sa mais bien: met la valeur de l'élément de la map !
Pardonner-moi mais je pige pas le truc là, j'ai du sauter une étape ou perdu quelque neurones

Si vous voulez bien éclairez ma misérable petit lanterne !