Доработал функцию visualwindow.
Теперь она может выводить на экран изображение хранящееся в двухмерном массиве int.
Этот массив можно заполнять программно (рисовать) или считывать с файла.
Вывод на экран изображения хранящегося в массиве Image_0
CODE:visualwindow(0, 0, 0, imagewidth(#Image_0[0][0]), imageheight(#Image_0[0][0]), 100, 120, 100, #Image_0[0][0]);
Пример рисования линии на кнопке 5 в калькуляторе
Цитата: int Image_0[34][27];
win w=window ("Калькулятор", "CalcFrame", -1);//Указатель на калькулятор
//Эти данные получили в шпионе
int RX=34, RY=27;//Размер кнопки 5
int X1=50, Y1=161;//Позиция кнопки 5 в окне калькулятора (левый верхний угол)
int X2=X1+RX, Y2=Y1+RY;//Позиция кнопки 5 в окне калькулятора (правый нижний угол)
pause (1000);
visualwindow(0, 0, 0, RX, RY, w.leftclient+X1, w.topclient+Y1, 100, #Image_0[0][0]);//включили вывод изображения Image_0 в месте кнопки на экране
loop()
{
screen (#Image_0[0][0], X1, Y1, X2, Y2, w);//Получили снимок кнопки 5 в окне калькулятора и записали в Image_0
for (int x=0; x<RX; x++)Image_0[x][RY/2]=255;//Закрасили рисунок кнопки в Image_0 горизонтальной линией по середине кнопки
sleep(10);
}
Пример вывода на экран изображения с файла
Цитата: int Image_0[300][200];
loadimage (#Image_0[0][0], "C:\Image_0.bmp");
//включили вывод всего изображения Image_0 в координатах 100, 120 экрана без сжатия
visualwindow(0, 0, 0, imagewidth(#Image_0[0][0]), imageheight(#Image_0[0][0]), 100, 120, 100, #Image_0[0][0]);
//включили вывод середины изображения Image_0 (50, 70, 250, 150) в координатах 100, 350 экрана сжав его на 50 процентов
visualwindow(1, 50, 70, 250, 150, 100, 350, 50, #Image_0[0][0]);//включили вывод изображения Image_0 в месте кнопки на экране
loop()sleep(10); |