test code
#include
#define ROW 5
#define COL 15
int data[ROW*COL] ={ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,\
0,1,1,1,0,0,0,0,0,1,0,0,0,0,0, \
0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int draw[ROW*COL] ={ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int picture[2][3*3]={1, };
void draw_data(int image)
{
if(image == 0)
{
for(int i =0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
//printf(“%d “, i*COL + j);
printf(“%d “, data[i*COL+ j]);
}
printf(“\n”);
}
}else if(image == 1)
{
for(int i =0; i < ROW; i++)
{
for(int j = 0; j < COL; j++)
{
//printf(“%d “, i*COL + j);
printf(“%d “,draw[i*COL+ j]);
}
printf(“\n”);
}
}
}
void main(void)
{
draw_data(0);
draw_data(1);
//get picture from data
//start point (1,1), (8,1)
//size 3*3
int x = 1;
int y = 1;
int x_size = 3;
int y_size = 3;
for(int i = y, yy=0; i < y+y_size; i++, yy++) //row
for(int j = x, xx=0; j < x+x_size; j++, xx++) //col
{
printf(“yy*x_size + xx = %d \n”, yy*x_size+xx);
picture[0][yy*x_size + xx] = data[COL*j + j];
}
printf(“\n”);
for(int i =0; i < 3; i++)
{
for(int j =0; j < 3; j++)
{
printf(“%d “, picture[0][x_size*j + j]);
}
printf(“\n”);
}
//insert picture to draw data
int x_in = 1;
int y_in = 1;
for(int i = y_in, yy=0; i < y_in + y_size; i++, yy++) //row
for(int j = x_in, xx=0; j < x_in + x_size; j++, xx++) //col
{
printf(“ COL * i+ j : %d, yy*x_size + xx : %d \n”, COL*i + j, yy*x_size + xx);
draw[COL*i + j] = picture[0][yy*x_size + xx];
}
draw_data(1);
//
}
\