Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Рамка появляется на другом экране
Kostick
Отправлено: 28 Октября, 2022 - 14:55:27
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020  
Репутация: 1




Есть рамка, которая показывает область поиска изображения. Но как настроить программу, чтобы рамка появлялась на том экране, на котором находится мышка.
CODE:
int array[1920][1080];
initialarray(#array[0][0], 255);

visual(200, 100, 700, 500, 3); // координаты рамки и толщина линии
loop()sleep(10);


function visual(int sx, int sy, int ex, int ey, int width)
{
visualwindow(0, 0, 0, ex-sx, width, sx, sy, 100, #array[0][0]);
visualwindow(1, 0, 0, width, ey-sy, sx, sy, 100, #array[0][0]);
visualwindow(2, 0, 0, ex-sx+width, width, sx, ey, 100, #array[0][0]);
visualwindow(3, 0, 0, width, ey-sy, ex, sy, 100, #array[0][0]);
}


На видео в первый раз у меня мышка на правом экране, а рамка появляется на левом. Во втором случае наоборот, мышка на левом экране, а рамка появляется на правом.

Демонстрация проблемы с рамкой на двух экранах:(для просмотра ссылки Вам необходимо авторизоваться) (Добавление)
В общем решил проверить, какое разрешение видит программа, когда я запускаю код.
На видео вы можете заметить, что когда окно Kibor'а я запускаю в левом экране, то разрешение через texout выводится 5120х1440, а когда на правом, то 2560х1440.

CODE:
win W_Kib;
int xM_Kib, yM_Kib;
getmouse(xM_Kib, yM_Kib);
W_Kib=getwindow(0, xM_Kib, yM_Kib);
int eX_Kib, eY_Kib;
eX_Kib=W_Kib.widthclient;
eY_Kib=W_Kib.heightclient;
TextOut(0, format(eX_Kib) + ", " + format(eY_Kib), 0, 1900, 100, 0, 16777215);
pause(10000);

function TextOut(int n, string text, int o, int x, int y, int colt, int colf)
{
textbkcolor (colt,colf);
textout(n, x, y, text, o);
}


Ссылка на демонстрацию:(для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Zireael
Отправлено: 29 Октября, 2022 - 01:46:11
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
то разрешение через texout выводится 5120х1440, а когда на правом, то 2560х1440.

Всё верно, если второй монитор справа от первого, то его координаты будут 2560, 0, 5120, 1440. Даже если будет 10 мониторов, то рабочий стол будет 1, просто большого размера.
Получить разрешение, исходя из этого указать координаты для функции, которая выведет рамку.
 
 Top
Kostick
Отправлено: 29 Октября, 2022 - 08:28:11
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020  
Репутация: 1




 Zireael пишет:
 Цитата:
то разрешение через texout выводится 5120х1440, а когда на правом, то 2560х1440.

Всё верно, если второй монитор справа от первого, то его координаты будут 2560, 0, 5120, 1440. Даже если будет 10 мониторов, то рабочий стол будет 1, просто большого размера.
Получить разрешение, исходя из этого указать координаты для функции, которая выведет рамку.

Просто меня удивило, что находясь на разных мониторах общее разрешение не одинаковое - 5120х1440, а отличается в зависимости от того, на каком мониторе окно kibor'а.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by