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.... :oops:

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