EncoderParameters encoderParameters; 
ULONG nValue = 8; 
encoderParameters.Count = 1; 
encoderParameters.Parameter[0].Guid = EncoderColorDepth; 
encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong; 
encoderParameters.Parameter[0].NumberOfValues = 1; 
encoderParameters.Parameter[0].Value = &nValue; 
//原位图位深度是4
Image  *pImage = Image::FromFile(L"test_4.bmp");
CLSID clsid; 
GetEncoderClsid(L"image/bmp",&clsid);
//encoderParameters将位深度改为8
pImage->Save(L"test_8.bmp", &clsid, &encoderParameters); 
结果生成的图片位深度还是4,大小也没有变,不知道为什么,请指教,谢谢:)