У меня есть Gdiplus :: Bitmap (на C ++) в формате PixelFormat32bppARGB и я конвертирую его в PixelFormat32bppRGB с помощью:
Gdiplus::Bitmap* bitmapRGB = new Gdiplus::Bitmap(bitmap->GetWidth(), bitmap->GetHeight(), PixelFormat32bppRGB);
Gdiplus::Graphics graphics(bitmapRGB);
graphics.DrawImage(bitmap, Gdiplus::Point(0, 0));
Если я проверяю формат RGB-битмапа, это правильно (RGB):
bitmapRGB ->GetPixelFormat() == PixelFormat32bppRGB
Если я сохраняю растровое изображение и проверяю его формат (т. Е. В Gimp), появляется четвертый канал.
CLSID pngClsid;
GetEncoderClsid(L"image/png", &pngClsid);
bitmapRGB ->Save(path, &pngClsid, NULL);
Как мне получить png с RGB-Pixelformat