实现原理:计算两个颜色的亮度值,然后通过亮度值来判断是接近纯黑色还是纯白色。
当两个颜色亮度值低于设定阈值时,判定接近纯黑色;当亮度值均接近最大值(255),判定接近纯白色。
QColor clr1,clr2;
int iLightclr1 = clr1.lightness();
int iLightclr2 = clr2.lightness();
int iThresold = 50; //色差阈值 根据实际情况调整
if((iLightclr1 < iThresold) && (iLightclr2 < iThresold))
{
//接近白色
}
else if((iLightclr1 > 255 - iThresold) && (iLightclr2 > 255 - iThresold))
{
//接近黑色
}
else
{
}