Поиск по картинке. А как узнать координаты картинки

Wrongbee

Client
Регистрация
11.05.2018
Сообщения
75
Благодарностей
28
Баллы
18
Привет, друзья!
Никак не могу понять. У кубика поиск по картинке есть только действия. Кликнуть или перетянуть. Как можно узнать координаты, по которым нашлась картинка. Мне не нужно по ней кликать. Решил покачать акк в круфителях поземелий (ошибки специально). Слева портрет героя, которого ищу по картинке. Но мне нужно кликнуть на 100 пикселей вправо.
Screenshot_1.jpg
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 991
Благодарностей
4 457
Баллы
113

Wrongbee

Client
Регистрация
11.05.2018
Сообщения
75
Благодарностей
28
Баллы
18
Left top это когда мы знаем координаты картинки. Задаем смещение для клика. Но координаты же неизвестны - поиск ведь по картинке. Как получить координаты, если это вообще возможно
 

default

Client
Регистрация
27.09.2018
Сообщения
127
Благодарностей
28
Баллы
28
Left top это когда мы знаем координаты картинки. Задаем смещение для клика. Но координаты же неизвестны - поиск ведь по картинке. Как получить координаты, если это вообще возможно
ну сначала тебе надо понять, где нужная картинка(её параметры для поиска т.е. в коде и т.д.).
дальше уже в Конструктор действий есть "Get" и выбираешь атрибут. Нужные тебе вроде бы "leftinbrowser" и "topinbrowser" - вручную их походу вписать надо в атрибут. И создаешь 2 таких кубика. Которые должны выдать тебе как раз координаты картинки. Вроде бы должно работать, протести.
 
Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 991
Благодарностей
4 457
Баллы
113
Left top это когда мы знаем координаты картинки. Задаем смещение для клика. Но координаты же неизвестны - поиск ведь по картинке. Как получить координаты, если это вообще возможно
Через кубик "Поиск по картинке" ищете?
Сконвертируйте его в C# и там будет rectangle с искомыми координатами.
 

Wrongbee

Client
Регистрация
11.05.2018
Сообщения
75
Благодарностей
28
Баллы
18
Там флеш :( Из всего арсенала зенки можно использовать только поиск по картинке и эмуляцию мыши
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 991
Благодарностей
4 457
Баллы
113
Вы уже проверили? Если у вас успешно ищется по картинке, то координаты прямоугольника тоже должны определиться и для Флэша тоже.
 

Wrongbee

Client
Регистрация
11.05.2018
Сообщения
75
Благодарностей
28
Баллы
18
Картинка ищется. Делается клик по ней. Но нигде не найду эти координаты. Куда они попадают после клика?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 991
Благодарностей
4 457
Баллы
113
  • Спасибо
Реакции: Wrongbee

Wrongbee

Client
Регистрация
11.05.2018
Сообщения
75
Благодарностей
28
Баллы
18
Спасибо!!! Не обновилась страничка. Умчался проверять :-)
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 991
Благодарностей
4 457
Баллы
113

Wrongbee

Client
Регистрация
11.05.2018
Сообщения
75
Благодарностей
28
Баллы
18
Влет конвертнулся с ошибкой. Я пока не знаток Си, буду разбираться. Код получился совсем короткий - но ведь по идее картинка же должна каким-то образом передана в программу (наверно как массив). Еще раз огроменное спасибо за направление движения. И игра не флеш, но принцип тот же - все в графике
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 408
Благодарностей
1 474
Баллы
113
Код получился совсем короткий
C#:
Tab tab = instance.ActiveTab;
if (tab.IsBusy) tab.WaitDownloading();
Document mainDocument = tab.MainDocument;
if (mainDocument.IsVoid) return -1;
ResourceManager rm = new System.Resources.ResourceManager("", System.Reflection.Assembly.GetExecutingAssembly());
string rectangleString = tab.FindImage(rm.GetString(""), new[] { new Rectangle(0, 0, mainDocument.Width, mainDocument.Height) }, 99);
if (!String.IsNullOrWhiteSpace(rectangleString))
{
    string[]split = rectangleString.Split(',');
    Rectangle rectangle = new System.Drawing.Rectangle(System.Convert.ToInt32(split[0].Trim()), System.Convert.ToInt32(split[1].Trim()), System.Convert.ToInt32(split[2].Trim()), System.Convert.ToInt32(split[3].Trim()));
    if (!rectangle.IsEmpty)
    {
        rectangle = new System.Drawing.Rectangle(rectangle.X + 22, rectangle.Y + 30, 6, 6);
        // Вызвать событие "click" для Left
        tab.RiseEvent("click", rectangle, \"Left\");
        System.Threading.Thread.Sleep(500);
        if (tab.IsBusy) tab.WaitDownloading();
    }
    else return -1;
}
else return -1;

Это не ответ, это просто пример конвертации кубика поиска по картинке и левому клику
 

Wrongbee

Client
Регистрация
11.05.2018
Сообщения
75
Благодарностей
28
Баллы
18
Вот и не понятно, где в коде данные об искомой картинке. Ведь при создании кубика поиск по картинке я явно сохранил фрагмент картинки
 
Последнее редактирование:

Nord

Client
Регистрация
22.03.2012
Сообщения
2 408
Благодарностей
1 474
Баллы
113
  • Спасибо
Реакции: Wrongbee

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)