Page 1 sur 1

[..] Quand l'image n'est plus là ?

Posté : jeu. 23 sept. 2010 20:52
par Jerome
Coucou,

Je met le context en place :

J'ai une image, taille 500*500 par exemple et en .Bmp.

J'ai les cordonnées ou doit se trouver cette image.

Cette image est tout le temps active et présente.

Je voudrait savoir comment check que mon image n'est plus présente aux coordonnées que je lui ai données ?
Dans une boucle pour faire un check actif.






Jérôme

Re: [..]Quand l'image n'est plus la ?

Posté : jeu. 23 sept. 2010 21:07
par jbnh
Salut,

Je pense qu'une solution serait de checker, a partir de la position initiale de l'image (disons x et y) plusieurs pixels de cette image.

Par exemple, x+50, y+50 - x+75,y+75,... et ce pour être sur d'avoir un résultat correct.

Cette manipulation peut être effectuée avec cette udf par exemple:

http://www.autoitscript.fr/forum/viewto ... =21&t=3507

Re: [..]Quand l'image n'est plus la ?

Posté : jeu. 23 sept. 2010 21:14
par Jerome
Coucou,

J'avais songé à cette solution. ...
Le problème dans ta solution, c'est que cette image est assez grande et que je doit detecter si une autre image traverse la premiere.

Sauf que l'image traversante est plutôt petite.

Donc j'aurait vraiment besoin de check si l'image entière est la ou non....



Jérôme

Re: [..]Quand l'image n'est plus la ?

Posté : jeu. 23 sept. 2010 21:27
par sylvanie
et pourquoi ne pas faire un PixelChecksum de référence au début sur l'image de base, puis relancé ce calcul à intervalle régulier ?

Re: [..]Quand l'image n'est plus la ?

Posté : jeu. 23 sept. 2010 22:21
par Jerome
Coucou,


PixelCheckSum semble tout a fait adapter pour ce que je voudrait faire, mais je n'arrive pas à bien l'utiliser.

Pour le moment, sa fonctionne mais une seule fois si sa change.

Je voudrait garder en mémoire une zone de l'écran, et faire en sorte qu'a chaque fois que celle si change, on éxécute une action .


Si vous pouviez me donner ce qu'il faut avec l'exemple de la Doc que je remet si dessous :

Code : Tout sélectionner

; Wait until something changes in the region 0,0 to 50,50

; Get initial checksum
$checksum = PixelChecksum(0,0, 50,50)

; Wait for the region to change, the region is checked every 100ms to reduce CPU load
While $checksum = PixelChecksum(0,0, 50, 50)
  Sleep(100)
WEnd

MsgBox(0, "", "Something in the region has changed!")
 

Merci de votre aide.



Jérôme

Re: [..] Quand l'image n'est plus là ?

Posté : ven. 24 sept. 2010 21:10
par sylvanie
il vaut mieux passer par un adlibregister. comme ça on peut dédier le corps princupal du script à autre chose :
► Afficher le texte