新手,VC++6.0/Windows2000。后面是我实现的Gamma变化灰度图
像的代码。    现在我已经把24位的位图读入 CBitmap对象,想进一步对它作彩
色Gamma变换,发晕,总出问题,也许是我对CBitmap操作错误。    大虾指点,哪里有代码例子可以参考。void GammaTransform4Gray(double lfGamma, BYTE* pGrayData,
                         int nWidth , int nHeight)
{
    /*f(x)=c * x ^ (1/gamma)  */    ASSERT(lfGamma>=0);
    ASSERT(pGrayData);    int     i;
    int     nImageSize = nWidth * nHeight;
    double  c; //used to stretch the gray range to [0, 255]    c = 255.0 / exp(log(255.0) / lfGamma);    for( i=0; i<nImageSize; i++, pData++)
    {
        if(*pGrayData != 0)
            *pGrayData = (BYTE) (c * exp(log(*pGrayData)/lfGamma));
    }
}