GDIPLUS::Image::SetPalette: how set a palette?
i can get the image palette:
1 2 3 4 5 6 7 8 9
|
img= Image::FromFile(towstring(filename).c_str(), FALSE);
//free(imgPallet);
UINT PaletteSize;
PaletteSize=img->GetPaletteSize();
imgPallet=(ColorPalette*)malloc(PaletteSize);
Status stImage;
stImage=img->GetPalette(imgPallet,PaletteSize);
if(stImage!=Ok)
DebugText("error: palette not geted!!!!");
|
at least i don't get any error(DebugText()).
now see for set:
1 2 3 4 5 6 7
|
rhs.imgPallet->Flags=0;
if(rhs.imgPallet==NULL)
DebugText("palette not");
stat=rhs.img->SetPalette(rhs.imgPallet);
if(stat!=0)
DebugText("palette not changed!!!\t" + to_string(stat));
if(rhs.img->Save(pIStream, &pngClsid, encoderParameters) != Ok)
|
i get an error: 2- Invalid parameter. why these happens? i think that i'm doing the things correctly
Last edited on
Topic archived. No new replies allowed.