Problem
Hello all!
I have this code which takes my jpg image loops through altering pixels and finally saving it as a png type. The problem is that the resulting image has a bit depth of 32 bits. I need it to be 24 bit, can any one shiny some light on the correct method of setting it? Am I along the right tracks looking at setting the pixel format to PixelFormat24bppRGB? 
Code
static inline void Brighten(Gdiplus::Bitmap* img)
{
    int width = img->GetWidth()/8,height = img->GetHeight(), max = (width*height),r,g,b;
    Gdiplus::Color pixel;   
    for(int a = 0,x = 0, y = -1; a < max; ++a)
    {
        x = a%width;    
        if(x == 0)
            ++y;
        img->GetPixel(x,y,&pixel);
        r = pixel.GetR();
        g = pixel.GetG();
        b = pixel.GetB();
        if (r > 245) r = 245; 
        if (g > 245) g = 245;  
        if (b > 245) b = 245; 
        r = 10;
        g = 10;
        b = 10;
        pixel = Gdiplus::Color(r,g,b);
        img->SetPixel(x,y,pixel);;
    }
}
ULONG_PTR m_dwToken = 0;
Gdiplus::GdiplusStartupInput input;
Gdiplus::GdiplusStartupOutput output;
Gdiplus::GdiplusStartup( &m_dwToken, &input, &output );
USES_CONVERSION_EX;
Gdiplus::ImageCodecInfo* pEncoders = static_cast< Gdiplus::ImageCodecInfo* >( _ATL_SAFE_ALLOCA(1040, _ATL_SAFE_ALLOCA_DEF_THRESHOLD));
Gdiplus::DllExports::GdipGetImageEncoders(5, 1040, pEncoders );
CLSID clsidEncoder = pEncoders[4].Clsid;
Gdiplus::Bitmap img1((CT2W)L"IMG_1.JPG");
Brighten(&img1);
img1.Save((CT2W)L"IMG_1_R3.PNG",&clsidEncoder,NULL);
Thanks in advance!