Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - anette25

Pages: [1]
1
Всё сделала, довольно быстро находится, проблема сейчас в том, что не всегда картинка находится, хотя я ищу маленький ее кусочек, всего 2 пикселя - видимо цветовая гамма каким-то образом чуть меняется. Хотя 90% картинок находится. Подскажите как достичь 100% результата?  Может есть какие-то хитрости?

2
Я пробую так, код ниже, половина картинок находит, половину не видит (может в картинках дело?), и те что находит, находит с некоторой задержкой 1-2 сек, что долго. Ломаю голову почему так.

Code: (clickermann) [Select]
$x[0] = 0
$y[0] = 0
$x2[0] = 0
$y2[0] = 0
$h=100

For($i=0, $i<8)         //сюда записываю координаты 2-х картинок, сначала они равны нулю
   $x[$i] = 0
   $y[$i] = 0
   $x2[$i] = 0
   $y2[$i] = 0
End_cyc

$k1=200   //координаты области в которой ищем
$k2=200
$k3=800
$k4=800

$n1[0]="jelt1.bmp"        //названия картинок
$n2[0]="jelt2.bmp"
$n1[1]="kor-kor1.bmp"
$n2[1]="kor-kor2.bmp"
$n1[2]="kor-kras1.bmp"
$n2[2]="kor-kras2.bmp"
$n1[3]="kor-zel1.bmp"
$n2[3]="kor-zel2.bmp"
$n1[4]="kras1.bmp"
$n2[4]="kras2.bmp"
$n1[5]="oran1.bmp"
$n2[5]="oran2.bmp"
$n1[6]="sv-jelt1.bmp"
$n2[6]="sv-jelt2.bmp"
$n1[7]="zel1.bmp"
$n2[7]="zel2.bmp"




WHILE(($x[0] = 0)|($x[1] = 0)|($x[2] = 0)|($x[3] = 0)|($x[4] = 0)|($x[5] = 0)|($x[6] = 0)|($x[7] = 0)|($x2[0] = 0)|($x2[1] = 0)|($x2[2] = 0)|($x2[3] = 0)|($x2[4] = 0)|($x2[5] = 0)|($x2[6] = 0)|($x2[7] = 0) )
   
   GETSCREEN($k1,$k2,$k3,$k4)
   
   FOR($a=0,$a<8)
     
      IF($x[$a] = 0)
         IF_PICTURE_IN ($k1,$k2,$k3,$k4, $n1[$a], -1, $h)
            $x[$a] = 1
            print("Картинка ",$n1[$a]," найдена в координатах: ", $_return1, ,":", $_return2)
            $x[$a]=$_return1
            $y[$a]=$_return2
         END_IF
      END_IF
     
      IF($x2[$a] = 0)
         IF_PICTURE_IN ($k1,$k2,$k3,$k4, $n2[$a], -1, $h)
            $x2[$a] = 1
            print("Картинка ",$n2[$a]," найдена в координатах: ", $_return1, ,":", $_return2)
            $x2[$a]=$_return1
            $y2[$a]=$_return2
         END_IF
      END_IF
     
   END_CYC
   
   
   
   // и тд.
   
  // WAITMS(50)
END_CYC


//открытие картинок
WAITMS(5000)


For($i=0, $i<8)
   LCLICK($x[$i], $y[$i])
   print("Картинка 1 нажата в координатах: ", $x[$i], ,":", $y[$i])
   WAITMS(500)
   LCLICK($x2[$i], $y2[$i])
   print("Картинка 2 нажата в координатах: ", $x2[$i], ,":", $y2[$i])
   WAITMS(500)
End_cyc


HALT

3
dramster, Oraven, Спасибо большое!!!  Я попробую так!

4
Пожалуйста, помогите!  Как ожидать несколько картинок на экране и запоминать их координаты?
Дело в том, что картинки появляются и исчезают довольно быстро и их много разных (скажем 20), если я сохраню локально все 20, как их одновременно отслеживать на экране с сохранением их координат?

Пока пробую как-то так, на примере 2-х картинок, не получается. С одной картинкой получалось, но была проблема что при быстром ее появлении программа ее не видела. Надо чтобы картинка отображалась на экране секунды 3-4, чтобы программа ее считала - для меня это слишком много.
Вторая проблема что при считывании двух картинок вообще не работает скрипт, по крайней мере так как я пытаюсь.
А мне надо чтобы одновременно считывалось 20 и более картинок, с сохранением их координат. Возможно ли это?
Выход из цикла WHILE должен быть после того как обнаружены все картинки (я их вручную поочередно открываю).

Code: (clickermann) [Select]
$check = 0
$check2 = 0

WHILE(($check < 0)  & ($check2 < 0))

   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $check = 1
      print("Картинка 1 найдена в координатах: ", $_return1, ,":", $_return2)
      $pic1=$_return1
      $pic2=$_return2
   ELSE
      WAITMS(50)
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file2.bmp", -1, 100)
      $check2 = 1
      print("Картинка 2 найдена в координатах: ", $_return1, ,":", $_return2)
      $pic3=$_return1
      $pic4=$_return2
   ELSE
      WAITMS(50)
   END_IF
   
END_CYC

WAITMS(3000)
LCLICK($pic1, $pic2)
print("Картинка 1 нажата в координатах: ", $pic1, ,":", $pic2)

WAITMS(3000)
LCLICK($pic3, $pic4)
print("Картинка 2 нажата в координатах: ", $pic3, ,":", $pic4)

Pages: [1]