Page 1 sur 1
hex pixelgetcolor sur 6 digit : avec ou sans 00 devant ?
Posté : mar. 13 juin 2017 22:48
par IsLaMalice
Bonjour,
un truc que je trouve curieux, si vous pouvez m'aider...
quand j'utilise
hex(PixelGetColor(x,y),6)
parfois il faut mettre "00" devant, parfois non. Savez vous pourquoi ?
avec :
While hex(PixelGetColor(x,y),6)) <> "00D9D9D9"
sans :
if hex(PixelGetColor(x,y),6)="CFCFE6" then
IslaMalice
PS : si cela ce trouve, cela contient la réponse de ce sujet de 2011 :
https://www.autoitscript.fr/forum/viewt ... lor#p56554
Re: hex pixelgetcolor sur 6 digit : avec ou sans 00 devant ?
Posté : mar. 13 juin 2017 23:29
par IsLaMalice
hum.. c'est mes yeux ??
avec ce bout de code, pour l'exemple, il faut bien toujours mettre que 6 digits...
pourquoi dans mon programme il a fallut mettre 00 devant ?
Code : Tout sélectionner
Opt("WinTitleMatchMode", -2) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
HotKeySet("{ESC}", "Quitter")
if WinExists("Paint") then
WinActivate("Paint")
WinWaitActive("Paint")
Else
MsgBox(0,"","Lancer Paint")
Exit
EndIf
if hex(PixelGetColor(100,200),6)="FFFFFF" then msgbox(0,"FFFFFF","Le fond est bien blanc")
While hex(PixelGetColor(100,200),6) <> "000000"
sleep(1000)
Wend
msgbox(0,"00000000","Il a été mis noir")
#cs
blanc FFFFFF
rouge FF0000
vert 00FF00
bleu 0000FF
noir 000000
#ce
Func quitter()
Exit
EndFunc
Re: hex pixelgetcolor sur 6 digit : avec ou sans 00 devant ?
Posté : sam. 17 juin 2017 22:01
par TomAijerrie
C'est étrange en effet,
hex(PixelGetColor(x,y),6)) <> "00D9D9D9" doit toujours retourner VRAI, car hex(PixelGetColor(x,y),6)) retourne une chaine de 6 caractères.
Mais on peut contourner ce problème.
Code : Tout sélectionner
While PixelGetColor(x,y) <> 0xD9D9D9
If PixelGetColor(x,y) = 0xCFCFE6 Then
Là on compare des nombres et non plus des chaines de caractères, il enlève tous seul les 0 inutiles.
Re: hex pixelgetcolor sur 6 digit : avec ou sans 00 devant ?
Posté : mer. 12 juil. 2017 20:41
par IsLaMalice
merci du conseil, je n'ai toujours pas testé mais sur que ta proposition est meilleure, merci !
en revanche, j'ai trouvé le souci dans mon programme !!!!
un probleme beta de position de parenthese !!! je viens de m'en rendre compte....
j'avais noté :
hex(PixelGetColor(x,y,6))
forcément,... 6 etait le handle sur pixelgetcolor, et hex n'avais pas 6 bits....
je teste d'abord et je marque résolu sur ce sujet asap !
Is