Полагаю, что была бы полезной (а для меня - так крайне полезной) функция PixelChecksumBorder() - почти такая же, как PixelChecksum(); отличие в том, то при запуске этой функции, отображалась бы полупрозрачным подсвечиванием граница рамка (Border) считываемого функцией прямоугольника. Можно сказать, что функция PixelChecksumBorder() будет включать в себя функцию PixelChecksum(), дополняя её отображением полупрозрачной рамки.
Толщина, прозрачность, цвет рамки и время отображения рамки должны задаваться передаваемыми в функцию параметрами:
1) При неуказанной толщине, толщина = 5 пикселей;
2) При неуказанной прозрачности, прозрачность = 200;
3) При неуказанном цвете рамки, цвет рамки - ярко-зелёный.
4) При нулевой длительности (времени отображения рамки), рамка должна оставаться на экране до завершения скрипта.
Что характерно: рамка подсветки должна быть извне зоны считываемого прямоугольника, для корректной (неискажённой) отработки PixelChecksum(). Таким образом, зона обрабатывания функцией PixelChecksumBorder() должна автоматически становиться больше зоны, передаваемой в параметрах, - на удвоенную толщину рамки (сверху+снизу; слева+справа). При этом, зона обработки PixelChecksum-ом остаётся прежней - той, что передаётся в параметрах. Возможно, что понадобится зону рамки отодвинуть даже ещё на 1 пиксель в каждую сторону, для гарантированного разнесения зоны рамки и зоны считывания.
Возможные проблемы при реализации:
1) когда зона считываемого прямоугольника находится вплотную к границе экрана. В этом случае, подсветка будет только с 3-х (2-х, если в уголке) сторон.
2) когда зона считываемого прямоугольника находится _почти_ вплотную к границе экрана. В этом случае, толщина рамки с "обиженной" (зажатой) стороны будет равна толщине зазора между зоной считываемого прямоугольника и краем экрана.
Hint: в идеале, добавить ещё 2 параметра: [0/1/2]:
0 - рамка не реагирует на мышь, дожидаясь окончания таймаута.
1 - рамка исчезает по клику на ней или внутри неё [default]. (Окончание по таймауту - в силе).
2 - рамка исчезает по наведении курсора мыши на неё или внутрь неё. (Окончание по таймауту - в силе).
0 - рамка не реагирует на HotKey. (Окончание по таймауту - в силе).
1 - рамка исчезает по HotKey [default]. (Окончание по таймауту - в силе).
Толщина, прозрачность, цвет рамки и время отображения рамки должны задаваться передаваемыми в функцию параметрами:
1) При неуказанной толщине, толщина = 5 пикселей;
2) При неуказанной прозрачности, прозрачность = 200;
3) При неуказанном цвете рамки, цвет рамки - ярко-зелёный.
4) При нулевой длительности (времени отображения рамки), рамка должна оставаться на экране до завершения скрипта.
Что характерно: рамка подсветки должна быть извне зоны считываемого прямоугольника, для корректной (неискажённой) отработки PixelChecksum(). Таким образом, зона обрабатывания функцией PixelChecksumBorder() должна автоматически становиться больше зоны, передаваемой в параметрах, - на удвоенную толщину рамки (сверху+снизу; слева+справа). При этом, зона обработки PixelChecksum-ом остаётся прежней - той, что передаётся в параметрах. Возможно, что понадобится зону рамки отодвинуть даже ещё на 1 пиксель в каждую сторону, для гарантированного разнесения зоны рамки и зоны считывания.
Возможные проблемы при реализации:
1) когда зона считываемого прямоугольника находится вплотную к границе экрана. В этом случае, подсветка будет только с 3-х (2-х, если в уголке) сторон.
2) когда зона считываемого прямоугольника находится _почти_ вплотную к границе экрана. В этом случае, толщина рамки с "обиженной" (зажатой) стороны будет равна толщине зазора между зоной считываемого прямоугольника и краем экрана.
Hint: в идеале, добавить ещё 2 параметра: [0/1/2]:
0 - рамка не реагирует на мышь, дожидаясь окончания таймаута.
1 - рамка исчезает по клику на ней или внутри неё [default]. (Окончание по таймауту - в силе).
2 - рамка исчезает по наведении курсора мыши на неё или внутрь неё. (Окончание по таймауту - в силе).
0 - рамка не реагирует на HotKey. (Окончание по таймауту - в силе).
1 - рамка исчезает по HotKey [default]. (Окончание по таймауту - в силе).