Кибор » Кибор - Интегрированная среда разработки ботов » Готовые скрипты » visualwindow, textout

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

1. Zireael - 20 Марта, 2021 - 15:59:50 - перейти к сообщению
Архив распаковать, длл закинуть в папку с кибор.
https://drive.google.com/file/d/...view?usp=sharing
CODE:
external(INT, "visualwindow2", "visualwindow", "VisualWindow.dll");
external(INT, "textout2", "textout", "VisualWindow.dll");
external(INT, "draw_end", "draw_end", "VisualWindow.dll");

win w = window ("Program Manager", "Progman", -1); // окно, с которого выводить изображение
if(w)
{
visualwindow2(0, 0, 0, w.widthclient, w.heightclient, 200, 100, 30, formatwi(w));
textout2(0, 300, 300, "Нажать Z чтобы остановить скрипт", 24, rgb(0, 0, 255), rgb(0, 255, 0));
textout2(1, 400, 150, "Hello", 36, rgb(255, 0, 0), -1);

while(getkeystate(90)==0)sleep(10);

draw_end();
}
else messagebox("Окно не найдено");

CODE:
external(INT, "ResizeImage", "ResizeImage", "VisualWindow.dll");

ResizeImage("C:\11111.bmp", "C:\qwerty123.jpeg", 50); // уменьшить изображение bmp на 50% и сохранить в формате jpeg
ResizeImage("C:\11111.bmp", "C:\qwerty123.png", 200); // увеличить изображение на 200% и сохранить в формате png

Функции длл (нужные подключить вначале скрипта):
visualwindow - вывод части изображения с указанного окна
textout - вывод текста
enablevisual - включить вывод с окна
disablevisual - отключить вывод с окна
enabletextout - включить вывод текста
disabletextout - отключить вывод текста
draw_on - включить вывод изображения и текста
draw_off - отключить вывод изображения и текста
draw_end - закончить вывод изображения и текста
ResizeImage - изменить размер или формат (bmp, jpeg, gif, tiff, png) изображения

Функции draw_on, draw_off, draw_end вызываются без параметров.
Функции enablevisual, disablevisual, enabletextout, disabletextout приинмают 1 параметр - порядковый номер изображения или текста.
CODE:
disablevisual(1); // отключить visualwindow(1, ...)
enablevisual(1); // включить отключенный visualwindow(1, ...)
disabletextout(0); // отключить textout (0, ...)
enabletextout(0); // включить отключенный textout (0, ...)

Параметры функции visualwindow:
CODE:
visualwindow2(0, 0, 0, w.widthclient, w.heightclient, 200, 100, 30, formatwi(w));

1 - номер изображения от 0 до 999.
2-4 - координты, с которых выводить изображение, левый верхний и правый нижний угол.
5-6 - позиция вывода, экранные координаты.
7 - масштаб вывода.
8 - хендл окна, с которого получать изображение.
CODE:
textout2(0, 300, 300, "Text", 24, rgb(0, 0, 255), rgb(0, 255, 0));

Параметры функции textout:
1 - номер сообщения от 0 до 999.
2-3 - позиция вывода.
4 - текст.
5 - размер шрифта.
6 - цвет текста.
7 - цвет фона или -1 (без фона).
CODE:
ResizeImage("C:\11111.bmp", "C:\qwerty123.jpeg", 50);

Параметры функции ResizeImage:
1 - путь к изображению.
2 - путь куда сохранить новое изображение.
3 - процент сжатия или увеличения изображения.
2. Kutuz_off - 22 Марта, 2021 - 13:57:15 - перейти к сообщению
Вижу вновь взялись и переделали дополненный функционал рисования. Есть существенные отличия от старой версии draw? Или можно пользоваться предыдущей версией с иными именованиями длл функций?

Возникла новая потребность в использовании:
Иногда требуется что бы клик проходил сквозь картинку - это можно как-нибудь реализовать?
(Добавление)
И я думаю вы зря переименовали visualwindow и textout - теперь их можно спутать с оригинальными. Конечно удобно для первичного запоминания по аналогии с киборовскими, но неудобно для постоянного использования.
3. Dantes3000 - 22 Марта, 2021 - 16:51:33 - перейти к сообщению
Kutuz_off , так функции, подключаемые из длл, можно как угодно в киеборе называть
4. Zireael - 22 Марта, 2021 - 18:56:37 - перейти к сообщению
 Цитата:
Есть существенные отличия от старой версии draw?

Качество сжатия изображений значительно лучше.
 Цитата:
Иногда требуется что бы клик проходил сквозь картинку - это можно как-нибудь реализовать?

Клик проходит через картинку.
 Цитата:
И я думаю вы зря переименовали visualwindow и textout - теперь их можно спутать с оригинальными.

Назовите как удобно:
CODE:
external(INT, "MyFunc", "visualwindow", "VisualWindow.dll");
// MyFunc(0, 0, 0, w.widthclient, w.heightclient, 200, 100, 30, formatwi(w));
5. Kutuz_off - 23 Марта, 2021 - 03:47:25 - перейти к сообщению
Спасибо за ответы. Хорошо, протестирую, в предыдущей версии draw картинка перекрывает окно, и клик не проходит сквозь нее. Удобнее, конечно, было бы в виде параметра вкл/выкл сквозные нажатия. А то оригинальный визуал мерцает, и его использовать как гибрид не мог, думал сделать через сендмаус с вычислением тех же координат под выводимой картинкой... но вот, вроде, и решение, вновь благодаря вам. Отпишусь.

Powered by ExBB FM 1.0 Final