2017-08-29 75 views
0

今天我试图检查一个颜色是否类似于另一个在CSharp从BitMap。这是代码,我使用的是什么:比较颜色与容忍

Color blah = screenshot.GetPixel(x, y); 
if (blah == Color.Red) { 
... 

的问题是,我从来没有true,因为颜色有一点点不同的色调。有什么方法可以比较这种颜色与一些宽容吗?

谢谢!

回答

3

您可以检查defince一个tolarance值,并检查它们的差值小于:

Color blah = screenshot.GetPixel(x, y); 
    if (Math.Abs(Color.Red.GetHue() - blah.GetHue()) <= tolorance) 
    { 
     // ... 
    }