如何比较GetPixel方法的颜色和Color.Black等方法中传递的颜色?

我有一个从图像中获取像素的循环,并尝试查看它们是否与作为参数传递给方法的颜色相同。

我尝试了Equals方法,但它不起作用。 我也尝试过ToKnown方法。 看起来匹配不起作用,因为合成两种颜色的值不匹配。

例:

使用GetPixel:

 {Name=ff000000, ARGB=(255, 0, 0, 0)} 

Color.Black:

 {Name=Black, ARGB=(255, 0, 0, 0)} if (pixelColor.ToArgb().Equals(startingOffsetColor.ToArgb())) { } 

上面的代码工作,但我仍然想知道是否有任何更好的方法或任何方法可以减少任何CPU开销,因为我在循环语句中使用它。

根据MSDN ,Color.Equality运算符……

…比较颜色结构的ARGB值以上。 它还对一些状态标志进行了比较。 如果只想比较两种颜色结构的ARGB值,请使用ToArgb方法进行比较

因此,您使用的方法对于比较原始值是正确的

编辑

.ToArgb()返回一个int这样你就可以使用==进行比较,如果发现它太冗长,你不需要使用.Equals()