палитра без пол-литра
От: Агапов Андрей  
Дата: 19.02.03 11:46
Оценка:
День добрый!
Совсем запутался и зашел в тупик. Как правильно создать палитру, применить и работать с ней?
Есть программа, которая должна работать и на ПК, которые отображают только 256 цветов. При рисовании в контексте устройства смотрим:


int cColors = ::GetDeviceCaps(_dc.m_hDC, NUMCOLORS);


если их менее 256, то создаю палитру и пытаюсь ее использовать:


dc.SelectPalette(m_pPal, TRUE); // ок
cColors = dc.RealizePalette(); // = 256
cColors = ::GetDeviceCaps(dc.m_hDC, NUMCOLORS); // = 20  :???:


И никак не могу добиться "чистых" цветов (т.е. областей, залитых одним цветом). Где-то, чего-то я не понял. Перерыл инет. Везде примеры с битмапами. Я же просто в OnPaint отрисовываю контрол (с CMemDC). По идее разницы быть не должно. К сожалению я зашел в тупик, или это мои мысли в неверном направлении работали?? Укажите, плиз, куда смотреть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.