Pfff... c'était juste un indice pour le mettre sur la voie
Du coup je me suis fait la conversion pour retrouver le 'hue' (N° de teinte) correspondant au RVB du pixel sur la roue chromatique
Code : Tout sélectionner
#include <Array.au3>
While 1
$mousePos = MouseGetPos()
$x = $mousePos[0]
$y = $mousePos[1]
$col = StringRight("000000" & Hex(PixelGetColor($x, $y)), 6)
$rouge = Dec(StringMid($col, 1, 2))
$vert = Dec(StringMid($col, 3, 2))
$bleu = Dec(StringMid($col, 5, 2))
Local $RVB[3] = [$rouge, $vert, $bleu]
If BitAND($rouge > $vert, $rouge > $bleu) Then
_ArraySort($RVB, 1)
$Hue = Mod(60 * ($vert - $bleu) / ($RVB[0] - $RVB[2]) + 360, 360) ; formule de conversion RVB vers le H de HSV du cercle chromatique (pour afiner la detection des rouges, et éviter les pixels trop noirs, gris ou trop blancs, ol faut aussi mettre les formules pour trouver le S (saturation) et le V (Value).
If $Hue < 40 Or $Hue > 320 Then ; J'ai arbitraierment défini le rouge comme les valeurs comprises entre -40 (320) et +40 degrés sur le cercle chromatique
MsgBox(0, "", "pixel rouge trouvé"&@crlf&"Couleur RVB = "&$col&@crlf&"Teinte (Hue) = "&$Hue)
ExitLoop
EndIf
EndIf
WEnd
Je n'ai pas pris en compte la saturation (qui va de la couleur au blanc) ni la valeur (qui va du noir a la couleur), mais il est possible d'ajouter les formules pour éviter les couleurs titant trop vers le gris, le blanc ou le noir