[R] Tracer de lignes

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

[R] Tracer de lignes

#1

Message par genaille08 »

Rebijour,

Alors cette fois je voudrais que mon script cherche deux pixel de même couleur, trace une ligne (virtuelle) entre chaque et déplace la souris en suivant la ligne (comme sur un vecteur) et dès qu'il rencontre un pixel de couleur orange, vienne cliquer dessus; or je n'ai aucune idée de comment tracer une ligne entre ces deux points.

Cordialement
Modifié en dernier par genaille08 le mer. 21 janv. 2009 21:23, modifié 4 fois.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [...] Tracer de lignes

#2

Message par jbnh »

Je n'ai rien compris, prend le temps de t'exprimer faisant plusieurs phrase, en redéfinissant mieux 'ligne virtuelle', etc.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

Re: [...] Tracer de lignes

#3

Message par genaille08 »

et bien pour ligne "virtuel" en faite je veux tout simplement que le ligne n'apparaisse pas a l'écran

ensuite voici une image fabriquer de ce que je veux que la souris fasse XD bonne chance
Fichiers joints
Sans titre.jpg
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Tracer de lignes

#4

Message par Tlem »

Je ne crois pas qu'il existe une fonction toute faite pour vous.
Cela dit le problème n'est pas si complexe qu'il en à l'air de prime abord.

- Vous avez les coordonnées du point 1 (X1, Y1) et du point 2 (X2, Y2).
- Vous voulez analyser les pixels en partant du point 1 et en allant vers le point 2.

Le première chose à faire, c'est d'analyser les coordonnées séparant le point 1 et le point 2.
En théorie (mais il faudra affiner au cas ou les coordonnées du point 2 sont moins grandes) si vous faites :
  • X2 - X1 = X3
  • Y2 - Y1 = Y3
Vous obtenez deux valeurs. Ces valeurs sont les valeurs qui sépare les deux points. Donc si vous divisez ces valeurs pas la plus grande valeur des deux, vous obtiendrez deux nombres (X4 et Y4) qui pourront être utilisés pour 'créer votre ligne de recherche virtuelle'.
Le fait de diviser par la plus grande valeur, permet de rendre les valeurs proportionnelle (il faudra bien avancer en droite ligne du point 1 vers le point 2).

Les nombres X4 et Y4 vous serviront pour le Step de la boucle d'incrémentation des coordonnées du point 1.
En incrémentant X1 et Y1 des deux valeurs proportionnelles X4 et Y4, vous vous déplacez vers les coordonnées du point 2 et donc vous suivez votre ligne virtuelle. ;)

J'espère que mon explication n'a pas été trop technique, mais ce n'est pas facile à expliquer.
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é".
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

Re: [..] Tracer de lignes

#5

Message par genaille08 »

Lol je viens de prendre une blinde de math mais oui j'ai compris je vais tenter.
Finalement la solution n'était pas si dur que ca mais il fallait y penser.

Merci je reviendrais avec la solution en forme de script si j'y a arrive

P.S. : Oui c'est une doite ligne ^^.
genaille08
Niveau 4
Niveau 4
Messages : 93
Enregistré le : sam. 03 mai 2008 01:27
Status : Hors ligne

Re: [..] Tracer de lignes

#6

Message par genaille08 »

Désolé du double post mais je voulais uper.
Cela ne marche pas bon je vous preésente mon bout de post mais n'est pas présenté :$.

Code : Tout sélectionner

Dim $coord[2], $coord1[2], $coord3, $coord4, $var

WinActivate ( "C:\Users\Evan\Desktop\Sans titre2.jpg" )
Sleep ( 1000 )

while 1
    $a = PixelSearch ( 0, 0, 1920, 1080, 0xE02A41 )
    if not @error then $b = PixelSearch ( 0, 0, 1920, 1080, 0xB6E348 )
    if not @error then 
        $m1 = $b[1] - $a[1]
        $m2 = $b[0] - $a[0]
        $var = $m2 / $m1
        while 1
            $a[1] = $a[1] + ($var*5)
            $a[0] = $a[0] - ($var*5)
            MouseMove ( $a[0], $a[1] )
            $mousepos = MouseGetPos ()
            $color = PixelGetColor ( $mousepos[0], $mousepos[1] )
            If $color = "0xFFC62A" Then
                MsgBox ( 0, "", "la" )
                Exit
            EndIf
        WEnd
    EndIf
WEnd
Donc regardez sur l'image en faite la souris descend beaucoup trop et loupe la ligne orange ( elle passe en dessous )

Je pense que vous n'avez pas une résolution de 1920 par 1080 donc pour tester je pense qu'il vous faudra adapter mais je pense que l'erreur est toute bete et que vous saurez la trouvé.
merci d'avance.

Voici l'image sur laquelle j'ai tester ( ouverte avec IE7).

video de mon bot

Edit : Et beh j'ai eu du mal a trouver d'ou venez le probleme mais j'y suis arriver
Je ne sais pas a quoi je penser a ce moment la, J'ai du repenser a mon enorme ecran avec sa mega résolution toute ... RECTANGLE.
Comme avec les plus innovantes inventions que l'on trouve en science, j'ai trouver cela par accident
Bon pour etre clair il suffisait de multiplier notre coefficient directeur une fois par 1920 et une fois par 1080 (dans mon cas )et dire que ca fait 1 journée que je me casse la tete avec ce probleme

Bon aller résolut !!!
Merci encore
Fichiers joints
Sans titre2.jpg
Modifié en dernier par tolf le mer. 21 janv. 2009 21:20, modifié 1 fois.
Raison : La coloration syntaxique est réservée aux forum exemples, tutoriels, fonctions et UDF
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Tracer de lignes

#7

Message par Tlem »

Je vois que tolf à modifié le post, mais j'en remet une petite couche. ;)
La coloration syntaxique du code est réservée aux forums :
  • - Exemples de script
    - Fonctions et UDF
    - Tutoriels
Voici une ébauche fonctionnelle du script (à affiner peut être), qui prend en compte le sens du mouvement en fonction des coordonnées du point A et B.

Le voici tel quel avec les couleurs adaptée à l'affichage de l'image Sans Titre 2 sur mon IE.
► Afficher le texteLe Code
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