Мастер
Покинул форум
Сообщений всего: 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);
}
Ссылка на демонстрацию:(для просмотра ссылки Вам необходимо авторизоваться) |