我有一张图片,我在下面给出的列表中添加了一些像素。

 List<Color> ycolo = new List<Color>();
 for (int p = 5; p < FilteredImage.Width; p++) {
      for (int k = 5; k < FilteredImage.Height ;k++)
      {
          ycolo.Add(FilteredImage.GetPixel(p, k));

          if (k==10) { break; }
      }
    if (p== 20) { break; }
}


if (!ycolo.Contains(FilteredImage.GetPixel(21,11)))
{
    MessageBox.Show("Im here");
}
else
{ MessageBox.Show("Im not here"); }


它返回true(Im here),但在21,11位置不包含像素。这是怎么回事。我在Visual Studio c#中工作。
如何使它起作用?

最佳答案

您混合了像素的位置和颜色。
方法FilteredImage.GetPixel(21,11)返回像素的颜色。

要测试是否将某个位置的像素添加到列表中,请使用以下代码:

List<System.Drawing.Point> ycolo = new List<System.Drawing.Point>();

for (int p = 5; p < FilteredImage.Width; p++)
{
    for (int k = 5; k < FilteredImage.Height; k++)
    {
        ycolo.Add(new System.Drawing.Point(p, k));

        if (k == 10) { break; }
    }
    if (p == 20) { break; }
}

if (ycolo.Contains(new System.Drawing.Point(21, 11)))
{
    MessageBox.Show("Im here");
}
else
{
    MessageBox.Show("Im not here");
}

10-05 18:34