如何检查位图像素是否触摸另一种颜色?(c#)



我正在尝试检查位图中的像素是否触摸某种颜色的另一个像素,但我不太确定如何做到这一点。

到目前为止,我可以像这样迭代像素:
for (int x = 0; i < bitmap.Width; ++x)
{
for (int y = 0; h < bitmap.Height; ++y)
{
// check if this pixel is touching Color.Blue
}
}

如果有人知道怎么做,可以告诉我,我很感激。提前谢谢。

我试着做图像。GetPixel(x - 1, y) == Color。蓝色作为左方向的测试,但每次都返回false。

当然会返回false。很少有像素被设置为基本颜色(红色,绿色,蓝色等-而不是像"米色")。颜色通常是混合的,使他们更赏心悦目。如果一个像素被设置为RGB颜色(45,45,255)-你会看到蓝色,悦目的像素,但它不会等于Color.Blue

我建议您检查是否接近蓝色,而不是检查是否相等。试试这样做(它在左方向进行测试):

Color color = bitmap.GetPixel(x - 1, y);
if (color.B >= 150 && color.R <= 50 && color.G <= 50) {
// The pixel is touching a color close to blue, do something
}

相关内容

最新更新