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,大小也没有变,不知道为什么,请指教,谢谢:)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货