Привет! Подскажите пожалуйста способ конвертации любого изображения в монохромное, используя GDI+. Нижеследующий код оставляет всю картинку без изменения. Я подозреваю, что помимо изменения палитры нужно еще изменить и PixelFormat у объекта Bitmap. Однако, как это сделать (и возможно ли вообще), не знаю.
GLOBALHANDLE hMem;
ColorPalette* palette;
hMem = GlobalAlloc(GHND,(DWORD)sizeof(ColorPalette)+(sizeof(ARGB)*2));
if(hMem)
{
if((palette = (ColorPalette*)GlobalLock(hMem)) != NULL)
{
palette->Count = nSize;
palette->Flags = 0;
palette->Entries[0] = Color::MakeARGB(0,0,0,0);
palette->Entries[1] = Color::MakeARGB(0,0xFF,0xFF,0xFF);
Bitmap* pImage = new Bitmap(L”1.bmp”);
pImage->Setpalette(palette);
pImage->SaveAs(L”2.bmp”);
delete pImage ;
GlobalUnlock(hMem);
GlobalFree(hMem);
}
}
Спасибо!