Author Topic: Координаты после области GETSCREEN абсолютные или относительные?  (Read 3862 times)

0 Members and 1 Guest are viewing this topic.

digiTALker

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Т.е. если мне потом надо проанализировать пиксел внутри области, я должен указывать координаты абсолютные относительно окна, или относительные внутри диапазона?

К примеру у меня экран 100х100
я взял GETSCREEN(95,95,100,100)
каковы будут координаты центра этой области?
 на вскидку по поиску не нашел

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
А это нигде и не написано.
Проверяем
Code: (clickermann) [Select]
GETSCREEN(100,100,200,200)
SCREENSHOTEX(100,100,200,200, "100-200_", 0)
SCREENSHOT
HALT

Значит GETSCREEN снимает в локальных.

Непонятка только со SCREENSHOT. Он почему-то выдаёт всё привязанное окно. И чёрных полос ошибки на SCREENSHOTEX тоже нет.
Подозреваю, в режиме привязки GETSCREEN снимает без параметров весь экран.
« Last Edit: March 23, 2015, 03:23:22 PM by Vint »


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Область в GETSCREEN указывать не обязательно, в этом случае снимок будет всего экрана или всего окна в оконном режиме.

Но если уж указываешь область снимка, то пиши туже обласьт где в последствии будет проходить анализ, плюс 1 пиксел.

Пример:
Code: (clickermann) [Select]
GETSCREEN (300,300, 401,401)
IF_PIXEL_IN(300,300, 400,400, 255)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

Чтобы снять все вопросы просто выведи в файл то что видит GETSCREEN
Code: (clickermann) [Select]
GETSCREEN (300,300, 401,401)
SCREENSHOT
HALT

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Подозреваю, в режиме привязки GETSCREEN снимает без параметров весь экран.

Так и есть.

digiTALker

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Ребяты речь не о том ))

В результате скрина моей области я получаю квадрат, который размером 5х5. Сам квадрат расположен в координатах 95х95.
Если я хочу отсканить первую точку в моём квадрате 5х5, какие координаты я должен указать 1х1 или 96х96?

Вот в чем мой вопрос.

NStra

  • Освоившийся
  • **
  • Posts: 45
  • Подпись под аватаром.
    • View Profile
Нужно указывать координаты в зависимости от экрана.
Если хочешь использовать поиск пикселя, или картинки,
то нужно указывать "96x96", а не "1x1".
Размер буфера определяется разрешением твоего экрана, а не областью сканирования.

А если тебе нужна первая точка твоего квадрата, то 95x95.

Code: [Select]
Getscreen(95,95,100,100)
Screenshot
Getscreen(95,95,101,101)
Screenshot
Скрины в папке "Clickermann v4.11\screens".
Заметь что размер картинки на 1 меньше.
Т.е. не 5x5, а 4х4.
Другими словами, нужно указывать в Getscreen область поиска на 1 больше вправо и вниз.
« Last Edit: March 24, 2015, 06:46:49 AM by NStra »
Тут должна быть подпись...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Координаты после области GETSCREEN абсолютные или относительные?
Да абсолютные.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Так вроде порешили, что они вообще не действуют в режиме привязки.