我将值存储在2d向量中,并进行了一系列循环和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;
}
}
}
}
答案 0 :(得分:0)
类似这样的东西
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
,那么我们就在右边缘附近。顶部和底部边缘的处理类似。