for(i =0 ; i < dest->dwSize;) { UCHAR r,g,b; r = sBuf[i+0]; g = sBuf[i+1]; b = sBuf[i+2]; dBuf[i+0]=(unsignedchar)(r * 0.256789 + g * 0.504129 + b * 0.097906)+ 16; dBuf[i+1]=(unsignedchar)(r *-0.148223 + g *-0.290992 + b * 0.439215)+ 128; dBuf[i+2]=(unsignedchar)(r * 0.439215 + g *-0.367789 + b *-0.071426)+ 128; i += 3; }
// YCbCr转换为RGB
for(i =0 ; i < dest->dwSize;) { UCHAR y,u,v; y = sBuf[i+0]; u = sBuf[i+1]; v = sBuf[i+2]; dBuf[i+0]=(unsignedchar)(1.164383*(y- 16)+ 0 + 1.596027*(v - 128)); dBuf[i+1]=(unsignedchar)(1.164383*(y- 16)- 0.391762*(u - 128)- 0.812969*(v - 128)); dBuf[i+2]=(unsignedchar)(1.164383*(y- 16)+ 2.017230*(u - 128)+ 0 ); i += 3; }