Я создал вложенный l oop, чтобы нарисовать мой шаблон, хранящийся в 2d массиве. Это так:
void printdatamatrix(int xp, int yp, int h, int dirn)
{
int wide = _convertPixelsToMmForDataMatrix(h);
int x = xp;
int y = yp;
unsigned int i, j;
static bool my_data[ROWS][COLS] = {
{ 1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,0,1,0,1,0 },
{ 1,1,0,1,1,1,1,0,1,1,0,1 },
{ 1,0,0,1,1,0,1,0,0,0,1,0 },
{ 1,1,0,1,0,1,0,0,1,1,0,1 },
{ 1,1,0,1,1,0,0,1,0,1,0,0 },
{ 1,0,1,1,0,1,1,0,1,0,1,1 },
{ 1,1,1,0,0,0,1,0,0,0,1,0 },
{ 1,1,0,0,0,0,0,1,1,1,1,1 },
{ 1,1,0,0,1,0,0,0,0,0,0,0 },
{ 1,1,0,0,1,0,0,1,0,1,0,1 },
{ 1,0,1,0,1,0,1,0,1,0,1,0 }
};
for (i = 0; i < 12; ++i)
{
for (j = 0; j < 12; ++j)
{
if (my_data[i][j])
{
switch (dirn)
{
case 1: // 270
drawsquare(x + j * wide, y + i * wide, wide);
break;
case 2: // 0
drawsquare(x + i * wide, y - j * wide, wide);
break;
case 3: // 90
drawsquare(x - j * wide, y - i * wide, wide);
break;
case 4: // 180
drawsquare(x - i * wide, y + j * wide, wide);
break;
}
}
}
}
}