Visual C++ MFC в подробностях
Страница 49. макрос RGB


макрос RGB

Данный макрос получает из трех цветов - красный, зеленый, синий код цвета COLORREF, который в последствии может использоваться при программировании цвета для графических примитивов.

Из этих трех составляющих можно получить любой цвет.

При использовании палитры RGB цвета могут изменять значения в диапазоне 0-255.

COLORREF RGB(
BYTE bRed,// красный
BYTE bGreen,// зеленый
BYTE bBlue// синий
);

Вы наверно догадались что, COLORREF это просто число.

А вот так он реализован. Как видите числа помещаются со смешением 0,8,16.

#define RGB(r, g ,b) ((DWORD) (((BYTE) (r) | ((WORD) (g) << 8)) | 
(((DWORD) (BYTE) (b)) << 16)))

1999 год. Действие происходит где-то в районе OnPaint(), красные опять наступают.

CPaintDC dc(this);
CPen pen(PS_SOLID,3,RGB(200,0,0));// Настроили перо как красное(почти)
dc.SelectObject(pen);// выбрали перо
dc.LineTo(600,105);
dc.MoveTo(300,300);// провели красную линию

 

 
« Предыдущая статья   Следующая статья »