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.