我正在使用 GetPixel 来获取图像每个像素的颜色。图像包含不同的纯色不规则形状,我想找到最大宽度与最大高度匹配的点(或像素)(见下图)。
(来源:fuskbugg.se)
(无视边界)
我正在使用它来遍历捕获的位图:
for (int x = 0; x < bmp.Width; x++)
{
for (int y = 0; y < bmp.Height; y++)
{
Color clr = bmp.GetPixel(x, y);
// Hit
if (TestColour(clr)) // See if we're within the shape. I'm just comparing a bunch of colours here.
{
// Stuff I don't know
}
}
}
我通过使用哈希表让它工作,但我知道这是一个糟糕的解决方案。我在考虑只有两个整数(一个用于 X,一个用于 Y)递增并保存每次迭代的最大值,然后将其与前一个进行比较,如果它更高则替换该值。
我不知道如何在我的 for 循环中使用这种方法。
有输入吗?