我没有为我的问题找到任何解决方案,所以我问,当我有多个语句时?
,运算符如何工作?:
我想做的是,我在中间有像素,pixel[pos]
周围有像素,它看起来像:
0 0 0
0 x 0
0 0 0
x
是一个中心像素。
我正在检查,如果我周围有任何白色 ( zero
) 像素。如果有人,我将像素标记为two
。如果不是,那么模式看起来像:
1 1 1
1 x 1
1 1 1
1
是一个黑色像素,我将其设置为one
.
现在,代码:
if(pixels[positionOfPixel] == one && x > 0 && x < width
&& y > 0 && y < height)
{
pixels[positionOfPixel] = pixels[positionOfPixel - 1] == zero ? two :
pixels[positionOfPixel] = pixels[positionOfPixel + 1] == zero ? two :
pixels[positionOfPixel] = pixels[positionOfPixel - offset] == zero ? two :
pixels[positionOfPixel] = pixels[positionOfPixel + offset] == zero ? two :
pixels[positionOfPixel] = pixels[positionOfPixel - offset + 1] == zero ? two :
pixels[positionOfPixel] = pixels[positionOfPixel + offset - 1] == zero ? two :
pixels[positionOfPixel] = pixels[positionOfPixel - offset - 1] == zero ? two :
pixels[positionOfPixel] = pixels[positionOfPixel - offset + 1] == zero ? two : zero;
}
我的问题是,为什么每个one
像素都被标记为two
?为什么它没有识别像素,每个像素都在哪里one
(如第二个模式)?
感谢您的任何建议!