Author Topic: Не видит картинку  (Read 2301 times)

0 Members and 1 Guest are viewing this topic.

Sania

  • Освоившийся
  • **
  • Posts: 39
    • View Profile
Не видит картинку
« on: January 14, 2021, 05:14:19 PM »
Добрый день, помогите, не работает базовый скрипт. Если открываю картинку Image_1 всё работает, а в приложение которое запускаю с BlueStacks никак не реагирует
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,800,350,980, "Image_1.bmp")
   LCLICK($_return1, $_return2)
   WAITMS(500)
END_IF

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Не видит картинку
« Reply #1 on: January 14, 2021, 05:39:09 PM »
Окно BlueStacks  должно быть статичного размера.
Нужно подбирать точность поиска в процентах. Оптимальный процент, в зависимости от размера и сглаживания картинки в пределах ~60-90%.
Желательно использовать цветокоррекцию COLORMODE , или CONTRAST

IF_PICTURE_IN (x, y, x2, y2, file, [bgcolor], [currency] )
x, y - числовые координаты левого верхнего угла области поиска
x2, y2 - числовые координаты правого нижнего угла области поиска
file - bmp файл, поиск которого будет осуществляться
bgcolor - необязательный параметр; игнорируемый цвет фона входного изображения
currency - необязательный параметр; точность поиска в процентах (1..100)


COLORMODE (mode, [x1, y1, x2, y2] )
mode - число от 1 до 8, соответствующее степени коррекции
x1, y1, x2, y2 - область снимка экрана, к которой будет применена коррекция

При использовании цветокоррекции, bmp файл, поиск которого будет осуществляться, также нужно сохранять в соответствующей степени цветокоррекции.

Sania

  • Освоившийся
  • **
  • Posts: 39
    • View Profile
Re: Не видит картинку
« Reply #2 on: January 14, 2021, 05:59:21 PM »
спасибо большое за развёрнутый ответ) но я пока просто пытаюсь понять в чем проблема, что оно не видит, вот попробовал развернуть на весь экран, всё равно не видит(открываю картинку скрина, моментально реагирует, может он принципиально блюстак игнорит?

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Не видит картинку
« Reply #3 on: January 14, 2021, 06:29:49 PM »
При изменении размера окна блюстака, меняется и размер искомой картинки, следовательно ты уже точно ничего там не найдешь. Плюс к этому - всякие улучшайзеры изображения типа сглаживание, тени и прочее не дают найти стопроцентное совпадение искомой картинки с нарисованной в данный момент времени в приложении.

Правильно так:
 -привести размер окна к статичному размеру
Code: (clickermann) [Select]
WNDSIZE (hwnd, w, h) //hwnd - HWND окна; w, h - ширина, высота окна
 -сохранить искомую картинку из этого окна с использованием коррекции
Code: (clickermann) [Select]
GETSCREEN
COLORMODE (7 ) //подбираем степень коррекции, 5-7 самые оптимальные
SCREENSHOTEX (x1, y1, x2, y2)  //x1, y1, x2, y2 - четыре координаты, описывающие сохраняемую область буфера, оптимальный размер картинки от 50х50 до 100х100 пикселей

 -искать нужную картинку с применением цветокоррекции и процента совпадения
Code: (clickermann) [Select]
GETSCREEN
COLORMODE (7)
IF_PICTURE_IN (0,0, $_xmax, $_ymax, "file.bmp", -1, 70)
   move($_return1, $_return2) //курсор покажет найденную картинку, если найдет
   print($_return1, "x", $_return2)//в логе будут ее координаты
END_IF
halt


Sania

  • Освоившийся
  • **
  • Posts: 39
    • View Profile
Re: Не видит картинку
« Reply #4 on: January 14, 2021, 06:40:50 PM »
спасибо, буду пробовать, попробую колормод)

Алексей87

  • Освоившийся
  • **
  • Posts: 32
    • View Profile
Re: Не видит картинку
« Reply #5 on: February 18, 2021, 08:26:30 PM »
спасибо, буду пробовать, попробую колормод)

Привет. В блюстаке я искал по цветам и это 100% работало. Но, привязку к окну делать нельзя потому что перестает работать определение цвета и соответственно скрипт не отрабатывает.
Цвета искал через лупу и вписывал в скрипт соответственно.
По картинке еще не пробовал но обязательно попробую и отпишусь. Проверю и с привязкой окна и без.