Voilà un exemple de code :
Code : Tout sélectionner
; notre tableau de couleur
Global Dim valeur(4)
valeur(0) = 8429776
valeur(1) = 7377072
valeur(2) = 7377088
valeur(3) = 6324384
valeur(4) = 5324384
Procedure FindNearValue(number.i)
For i= 0 To ArraySize(valeur())-1
u = number/valeur(i)
v = number/valeur(i+1)
If u = 0 And v=1
Debug "le nombre : "+number+" est entre "+valeur(i)+" et "+valeur(i+1)
a = Abs(number-valeur(i))
b = Abs(number-valeur(i+1))
j = i
d = a
If a > b
j = i+1
d = b
EndIf
Debug "le nombre : "+number+" est le plus proche de "+valeur(j)+" (à "+d+" près)"
Break
EndIf
Next
EndProcedure
; je vais chercher les couleurs les plus proche de ces deux-ci
FindNearValue(7107020)
FindNearValue(6207020)
Connaissez-vous une autre technique plus rapide ou mieux pour trouver l'élément le plus proche de notre nombre (dans un tableau de nombre) ?
En fait, c'est pour remplacer des couleurs proches entre elles par une autre couleur indexée .