在向量的向量中创建轮廓(框)

Creating an outline (box) within a vector of vectors

我在二维向量中存储了值,并进行了一系列循环和 if 语句来勾勒出向量黑色。我该如何修改它以产生更粗的轮廓?

这是我的

int NumberOfRows = 49;
int NumberOfColumns = 36;
for (int k = 0; k < x; k++) 
{
    for (double i = results[k][1]; i < NumberOfRows + results[k][1]; i++) 
    {
        for (double j = results[k][2]; j < NumberOfColumns + results[k][2]; j++) 
        {
            if ((i == results[k][1]) || (i == results[k][1] + 48)) {
                a.matrix[i][j] = 1.00;
            }
            else 
            {
                if ((j == results[k][2]) || (j == results[k][2] + 35))
                    a.matrix[i][j] = 1.00;
            }
        }
    }
}

像这样

       if (i - results[k][1] < 2 || i - results[k][1] > NumberOfRows - 2) {
            a.matrix[i][j] = 1.00;
       }
       else if (j - results[k][2] < 2 || j - results[k][2]  > NumberOfColumns - 2)) {
            a.matrix[i][j] = 1.00;
       }

其中 2 是所需的宽度。

所以这可以通过从左边缘减去坐标来实现,i - results[k][1]。如果那是 < 2 那么我们就在左边缘附近,或者如果那是 > NumberOfRows - 2 那么我们就在右边缘附近。顶部和底部边缘的类似过程。