Цитата:
есть картинка(для просмотра ссылки Вам необходимо авторизоваться) как записать в файл массив вида
code (Отобразить)
CODE:
int colors[2] = {2366701, 0} // красный, чёрный
int coord[4]={1043, 182, 1337, 412} // область поиска
// параметры findheapcolor
int color[1];
int kol[1]={200}; // сколько должно совпасть пикселей
int r=5; // отклонение в цвете
int PosX[99], PosY[99]; // координаты найденных объектов
// сколько строк и столбцов
int row = 3, column = 3;
int width_section = (coord[2] - coord[0]) / column; // ширина ячейки
int height_section = (coord[3] - coord[1]) / row; // высота ячейки
int count, i, j;
// массив для хранения позиций
new int array[row][column];
initialarray(#array[0][0], 0);
string path = "C:\array.txt"; // путь к файлу, куда сохранить массив
//поиск объектов
for(i=0; i<sizearray(colors); i++)
{
color[0]=colors[i];
count=findheapcolor(sizearray(PosX),#color[0],#kol[0],1,1,#PosX[0],#PosY[0], 100,50,100,50,coord[0],coord[1],coord[2],coord[3], r,r,r,r,r,r,-1);
//messagebox("Найдено: "+format(count));
if(count)
{
for(j=0; j<count; j++)
{
//mousemove(coord[0]+PosX[j], coord[1]+PosY[j]); sleep(500);
int positionX = PosX[j] / width_section;
int positionY = PosY[j] / height_section;
//messagebox(format(positionX)+" "+format(positionY));
array[positionY][positionX] = i+1;
}
}
else messagebox("Не найдено");
}
// записать массив в файл
if(fopen(path, "w"))
{
for(i=0; i<row; i++)
{
for(j=0; j<column; j++)fwrite(array[i][j]);
fwrite(ENDL);
}
fclose();
start(path);
}
int coord[4]={1043, 182, 1337, 412} // область поиска
// параметры findheapcolor
int color[1];
int kol[1]={200}; // сколько должно совпасть пикселей
int r=5; // отклонение в цвете
int PosX[99], PosY[99]; // координаты найденных объектов
// сколько строк и столбцов
int row = 3, column = 3;
int width_section = (coord[2] - coord[0]) / column; // ширина ячейки
int height_section = (coord[3] - coord[1]) / row; // высота ячейки
int count, i, j;
// массив для хранения позиций
new int array[row][column];
initialarray(#array[0][0], 0);
string path = "C:\array.txt"; // путь к файлу, куда сохранить массив
//поиск объектов
for(i=0; i<sizearray(colors); i++)
{
color[0]=colors[i];
count=findheapcolor(sizearray(PosX),#color[0],#kol[0],1,1,#PosX[0],#PosY[0], 100,50,100,50,coord[0],coord[1],coord[2],coord[3], r,r,r,r,r,r,-1);
//messagebox("Найдено: "+format(count));
if(count)
{
for(j=0; j<count; j++)
{
//mousemove(coord[0]+PosX[j], coord[1]+PosY[j]); sleep(500);
int positionX = PosX[j] / width_section;
int positionY = PosY[j] / height_section;
//messagebox(format(positionX)+" "+format(positionY));
array[positionY][positionX] = i+1;
}
}
else messagebox("Не найдено");
}
// записать массив в файл
if(fopen(path, "w"))
{
for(i=0; i<row; i++)
{
for(j=0; j<column; j++)fwrite(array[i][j]);
fwrite(ENDL);
}
fclose();
start(path);
}
findheapcolor можно заменить на findimage.