[R] Clique sur un pixel le plus proche d'un coin ...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
phylonia
Niveau 3
Niveau 3
Messages : 48
Enregistré le : jeu. 19 nov. 2009 23:46
Localisation : Sur mon lit (avec triple matela) devant l'ordinateur en face de toi
Status : Hors ligne

[R] Clique sur un pixel le plus proche d'un coin ...

#1

Message par phylonia »

Salut, question facil pour ceux qui connaissent bien le logiciel je vais tenter d'être bref et claire:

Voila un pixel search cherche le pixel le plus proche du coin en haut a gauche et moi je voudrais inverser ceci j'ai tenter de remplacer la gauche par la droite haut par le bas etc ceci ne fait plus de clique ...

Alors je voudrais s'avoir si il serait possible de retourné le pixelsearch pr qu'il cherche le pixel le plus prochain du haut droite ou bas gauche...

J'ai tenter sa ...

Code : Tout sélectionner

$pos1 = PixelSearch( 63, 536, 890, 105, 0x0000FF) ; trouver le bleu - bas gauche
$pos2 = PixelSearch( 890, 105, 63, 536, 0x0000FF) ; trouver le bleu - haut droite
 
Mais rien...
Modifié en dernier par phylonia le sam. 28 nov. 2009 04:23, modifié 1 fois.
Habibsbib
Niveau 7
Niveau 7
Messages : 393
Enregistré le : dim. 30 août 2009 13:49
Localisation : Euh...Verticale, entre le siège et l'écran...
Status : Hors ligne

Re: [..] clique sur un pixel le plus proche d'un coin ...

#2

Message par Habibsbib »

Ben, en fait je crois justement ne pas avoir tout comrpis... Mais autrement, sachez que la focntion "PixelSearch" ne fait que rechercher un pixel et au mieux stocker sa position dans une variable, mais n'a jamais permis de cliquer dessus ^^

Pour cela ajoutez un MouseClick :

Code : Tout sélectionner

$pos1[2] = PixelSearch( 63, 536, 890, 105, 0x0000FF) ; trouver le bleu - bas gauche
If not @error Then
     MouseClick ("left", $pos1[0], $pos1[1])
EndIf
$pos2 = PixelSearch( 890, 105, 63, 536, 0x0000FF) ; trouver le bleu - haut droite
If not @error Then
     MouseClick ("left", $pos2[0], $pos2[1])
EndIf
 
Comme ça, ça devrait marcher... Sauf que c'est deux fois la même couleur que vous recherchez ! Donc, le mieux c'est de se résoudre à un MouseClick :

Code : Tout sélectionner

MouseClick ("left", 0, 0)
sleep (900)
MouseClick ("left", [coordonnées du point complètement en haut à droite de l'écran])
 


Et voila ! Et cherchez un peu plus dans la doc' à l'avenir :wink:
phylonia
Niveau 3
Niveau 3
Messages : 48
Enregistré le : jeu. 19 nov. 2009 23:46
Localisation : Sur mon lit (avec triple matela) devant l'ordinateur en face de toi
Status : Hors ligne

Re: [..] clique sur un pixel le plus proche d'un coin ...

#3

Message par phylonia »

Arf ... Sa répond en rien a ma question ...

Le truc c'est qu'il y a plusieurs pixels identiques, le truc c'est que sa doit cliquer sur un chaqu'un je sait pour le mouse clique et tout tout ce que tu a dit je le sait deja...

C'est juste que quand on cherche un pixelsearch et qu'il y a plusieurs couleurs sa prend le plus en haut a gauche et moi sa m'arrange pas ...

Les points bleu peuvent etre en bas a gauche mais je veux qu'il clique sur celui le plus en haut a droite des autres ...

Voila mon écran et les points bleu

Code : Tout sélectionner

[b][color=#000000]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[/color][color=#0000FF]X[/color][color=#000000]XX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXX[/color]X[color=#000000]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXXXXXXXXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXXXXXXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXX[/color][color=#0000FF]X[/color][color=#000000]XXXXXXXXXXXXXXXXXXX[/color][/b]
[/size]

Bien sur les points on etait choisi au hasar donc je ne peut pas dire une position exact ...

Et si je veux qu'il clique celi en haut a droite je peut pas il cliquera sur celui en haut a gauche...

Et le pixelsearch ne prend que si tu fait

Code : Tout sélectionner

pixelsearch( gauche,haut,droite,bas)
Donc si je fait droite,haut,gauche,bas sa marche pas...


Ou sinon

Faire clique sur le pixel le plus proche d'un autre pixel d'une autre couleur ...
Habibsbib
Niveau 7
Niveau 7
Messages : 393
Enregistré le : dim. 30 août 2009 13:49
Localisation : Euh...Verticale, entre le siège et l'écran...
Status : Hors ligne

Re: [..] clique sur un pixel le plus proche d'un coin ...

#4

Message par Habibsbib »

Ben dans ce cas fais des cadres de recherche plus restreints, ou alors utilise la fonction _Clickcolor. Et si tu dis que mon précédent message ne répond en rien à ta question, c'est peut-être que tu t'es mal exprimée, parce que je ne crois pas être le seul à n'avoir rien pigé...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] clique sur un pixel le plus proche d'un coin ...

#5

Message par Tlem »

En fait la fonction PixelSearch() est comme elle est.
Elle cherche de gauche à droite et de haut en bas.
Dans la prochaine version de AutoIt, elle sera capable de modifier ce comportement.
En attendent si vous voulez faire autrement, vous n'avez pas d'autres solution que de faire votre propre fonction PixelSearch().

Si vous effectuez quelques recherches sur le forum, le sujet à été abordé à de nombreuses reprises, donc vous trouverez sans aucun doute rapidement.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
phylonia
Niveau 3
Niveau 3
Messages : 48
Enregistré le : jeu. 19 nov. 2009 23:46
Localisation : Sur mon lit (avec triple matela) devant l'ordinateur en face de toi
Status : Hors ligne

Re: [..] Clique sur un pixel le plus proche d'un coin ...

#6

Message par phylonia »

Je n'ai toujours pas trouver ma réponse peut être quelques liens direct ou une astuce ...

J'ai le meme script en .exe et j'arive pas a le décompiler lui a trouver comment j'essaye de copier pour voir si j'arive a gérré le logi auto-it ...
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Clique sur un pixel le plus proche d'un coin ...

#7

Message par Iste »

deux boucle For et Pixelgetcolor()

voila l'indice

Pour l'exemple, le sujet a déja été abordé. Où ? je vous laisser chercher
Signez ici
phylonia
Niveau 3
Niveau 3
Messages : 48
Enregistré le : jeu. 19 nov. 2009 23:46
Localisation : Sur mon lit (avec triple matela) devant l'ordinateur en face de toi
Status : Hors ligne

Re: [..] Clique sur un pixel le plus proche d'un coin ...

#8

Message par phylonia »

Je pense avoir trouver

Et si ce n'est pas le cas tempi...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Clique sur un pixel le plus proche d'un coin ...

#9

Message par Tlem »

Heuuuu :shock:
C'est pourtant pas compliqué !!!

1 - On va ici : http://www.autoitscript.fr/forum/search.php
2 - On tape ceci dans le champ de recherche : pixelsearch sens recherche
3 - On clique Rechercher ou on valide avec Entrer.
4 - On obtient ceci : Résultat de la recherche

Je ne vois vraiment pas ou est la difficulté la dedans !!!
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre