ColorPalette как создать свою палитру
От: Alexei_z_  
Дата: 28.10.04 18:28
Оценка:
Народ,
Может кто подскажет — как в .Net создать свою палитру?
Мне нужна картинка 8 bpp,grayscale
A в структуре System::Drawing::ImagingPixelFormat такого нет
Пробовал совать ей Format8bppIndexed, но картинка получается с другой палитрой, что вполне объяснимо
Подозреваю, что нужно как-то создать\задать System::Drawing::ColorPalette. Как? Там все свойства Get
Или, можно ли создать объект System::Drawing::Bitmap используя что-то а-ля BITMAPINFO?
Если да, то как? Чего подключить?
Извините за возможно тупые вопросы, но нужно разобраться с .Net и нужно сделать это быстро, так как иначе


Код такой:
pBoard->GrabImage(768,576,0,0,pimage); // заполняет pimage(unsigned char* данными)
CImage* pImage = new CImage(pimage,SDimensions(768,576)); //мой класс для работы с картинками, win32

pImage->SaveImage("savedfromunmngd.bmp");///coхраняет на диск, все отлично


Image * pImage1= new Bitmap(768,576,768*sizeof(unsigned char),PixelFormat::Format8bppIndexed,pimage);
pImage1->Save("fromdata.bmp"); /// сохраняет, явно кривая палитра

Image *pImage3 = new Bitmap("savedfromunmngd.bmp");
pImage3->Save("managed.bmp"); //сохраняет нормально
Если кто знает, и может поделится — спасибо, с меня бутылка "Растишки"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.