一小段获得颜色的代码,看得莫名奇妙,大家帮帮忙看看啊!
COLORREF c[4],sysColor,drawColor;
c[0] = pDC->GetPixel(rc.left-2,rc.top-2);
c[1] = pDC->GetPixel(rc.left-2,rc.bottom+2);
c[2] = pDC->GetPixel(rc.right+2,rc.bottom+2);
c[3] = pDC->GetPixel(rc.right+2,rc.top-2);
int i,tmp,max,rec=0;
max = (BKCOLOR>>16&0xff)*(c[0]>>16&0xff);
max += (BKCOLOR>> 8&0xff)*(c[0]>> 8&0xff);
max += (BKCOLOR>> 0&0xff)*(c[0]>> 0&0xff);
for(i=1;i<4;i++)
{
tmp = (BKCOLOR>>16&0xff)*(c[i]>>16&0xff);
tmp += (BKCOLOR>> 8&0xff)*(c[i]>> 8&0xff);
tmp += (BKCOLOR>> 0&0xff)*(c[i]>> 0&0xff);
if (tmp<max) { max=tmp; rec=i; }
}
sysColor = c[rec];
drawColor = sysColor^3;
//////////
我实在看不懂了,请大家帮帮忙,谢谢~