screen - Делает скрин окна и записывает его в двухмерный массив int. После этого этот массив можно использовать в функции findimage и findheapcolor
Синтаксис:
CODE:
int a[200][150];//Выделяем память. Выделить можно больше, с запасом, но не меньше. Если выделить меньше размеров скрина вернет ошибку.
screen (#a[0][0], старт_X, старт_Y, финиш_X, финиш_Y, w);
screen (#a[0][0], старт_X, старт_Y, финиш_X, финиш_Y, w);
Первый параметр указатель на двухмерный массив int в который запишется изображение
Последний параметр w - указатель на окно. Если -1 скрин делается в экранных координатах
Функция возвращает:
1 при успехе
-1 если размер выделеного массава (первый столбец) меньше чем разница между (финиш_X-старт_X)
-2 если размер выделеного массава (второй столбец) меньше чем разница между (финиш_Y-старт_Y)
==============================================================================================================
screenstartx - После выполнения функции screen , screenstartx возвращает старт зоны получения скриншота X
screenstarty - После выполнения функции screen , screenstarty возвращает старт зоны получения скриншота Y
Если screen не вызывалась, функции эти возвращают 0.
CODE:
int x=screenstartx();
sendscreenstartx sendscreenstarty может инициализировать возврат функций screenstartx screenstarty числом указанным в параметре:
CODE:
sendscreenstartx(0)
Применение:
Цитата:
int Image_0[6][5];
loadimage (#Image_0[0][0], "C:\Image_0.bmp");
int x, y;
int Screen[1000][1000];
screen (#Screen[0][0], 20, 50, 500, 500, -1);
if (findimage(1, #Image_0[0][0], -1, #x, #y, 0, 0, 200, 200, #Screen[0][0]))
{
mousemove(x+screenstartx(), y+screenstarty());//Учитываем начала зоны получения скриншота
}
loadimage (#Image_0[0][0], "C:\Image_0.bmp");
int x, y;
int Screen[1000][1000];
screen (#Screen[0][0], 20, 50, 500, 500, -1);
if (findimage(1, #Image_0[0][0], -1, #x, #y, 0, 0, 200, 200, #Screen[0][0]))
{
mousemove(x+screenstartx(), y+screenstarty());//Учитываем начала зоны получения скриншота
}
==============================================================================================================
savescreen - Делает скрин окна и сохраняет его на диск файлом .bmp
Синтаксис:
CODE:
savescreen("D:\11111.bmp", старт_X, старт_Y, финиш_X, финиш_Y, w);
Первый параметр string, путь к сохраненному файлу
Последний параметр w - указатель на окно. Если -1 скрин делается в экранных координатах
Можно сохранять в JPG и PNG
CODE:
savescreen(JPG, "D:\11111.jpg", старт_X, старт_Y, финиш_X, финиш_Y, w);
savescreen(PNG, "D:\11111.png", старт_X, старт_Y, финиш_X, финиш_Y, w);
savescreen(PNG, "D:\11111.png", старт_X, старт_Y, финиш_X, финиш_Y, w);
Функция возвращает:
1 при успехе
0 если невозможно сохранить файл
==============================================================================================================
saveimage - сохраняет на диск файлом .bmp загруженный ранее или созданный программно двухмерный массив int в котором хранится изображение
Синтаксис:
CODE:
saveimage(#a[0][0], "D:\11111.bmp");
Можно сохранять в JPG и PNG
CODE:
saveimage(JPG, #a[0][0], "D:\11111.jpg");
saveimage(PNG, #a[0][0], "D:\11111.png");
saveimage(PNG, #a[0][0], "D:\11111.png");
Первый параметр указатель на двухмерный массив int в котором хранится изображение
Второй параметр string, путь к сохраненному файлу
Функция возвращает:
1 при успехе
0 если невозможно сохранить файл
Расширенный вариант saveimage позволяет сохранить часть изображения
Сохранит указанную зону
CODE:
saveimage(#a[0][0], "D:\11111.bmp", 120, 150, 200, 500);
Можно сохранять в JPG и PNG
CODE:
saveimage(JPG, #a[0][0], "D:\11111.jpg", 120, 150, 200, 500);
saveimage(PNG, #a[0][0], "D:\11111.png", 120, 150, 200, 500);
saveimage(PNG, #a[0][0], "D:\11111.png", 120, 150, 200, 500);
Или трехмерный массив
CODE:
saveimage(#a[2][0][0], "D:\11111.bmp", 120, 150, 200, 500);
Возвращает 1 при удаче.
-1 если по X зона не в пределах изображения
-2 если по Y зона не в пределах изображения
-3 если начало зоны по X больше чем конец
-4 если начало зоны по Y больше чем конец