Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
289-320.doc
Скачиваний:
2
Добавлен:
11.11.2019
Размер:
301.57 Кб
Скачать

Некоторые стили пера

Значение

Семантика

Ширина пера в пикселах

PS_SOLID

Сплошное перо

Произвольная

PS_DASH

Штриховое перо

 1

PS_DOT

Точечное перо

 1

PS_DASHDOT

Штрихпунктирное перо

 1

PS_DASHDOTDOT

Перо с чередованием линий и двойных точек

 1

PS_NULL

Нулевое (пустое) перо

Произвольная

PS_GEOMETRIC

Геометрическое перо

Произвольная

PS_COSMETIC

Косметическое перо

Произвольная

PS_INSIDEFRAME

Перо с размытым контуром

Произвольная

Рис. 10.2. Значения, присваиваемые параметру nPenStyle функции CPen::CreatePen() при инициализации пера

Параметр crColor задает цветовой код линии. Легче всего описать цвет, используя макрос RGB().

COLORREF RGB( BYTE bRed, BYTE bGreen, BYTE bBlue );

Параметры bRed, bGreen и bBlue показывают относительную интенсивность красного, зеленого и синего цветов. Каждому параметру можно присвоить значение в диапазоне от 0 до 255.

GDI предоставляет аппаратно-независимый интерфейс работы с цветом. Программа задает код цвета, и GDI отображает его на экране в виде подходящего цвета или сочетания цветов. Стандартная видеоплата VGA (Video Graphics Array — графическая видеоматрица) использует 4-разрядные коды цвета, и, следовательно, может отображать только 16 цветов. Каждый цвет в Windows представляется сочетанием значений красного, зеленого и синего цветов. 16 стандартных чистых цветов представлены в табл. 10.3. Чистый цвет — это цвет, генерируемый аппаратными средствами для видеоотображения. Этот цвет не требуется имитировать смешиванием различных цветов (известным как имитация полутонов (dithering)). Работающие с цветом функции GDI принимают в качестве параметра 32-разрядные значения COLORREF, содержащие 8-разрядные цветовые коды для красного, зеленого и синего цветов. Получение значений типа COLORREF осуществляется макросом RGB(), который преобразует 8-рязрядные коды в значение типа COLORRREF. Если вы задаете для кисти один из 16 стандартных цветов, то получаете чистый цвет, в противном случае — составной (dithered color). Если шаблон составного цвета очень сложный, то будет выбран наиболее близкий к нему чистый цвет.

Если Windows работает с видеоплатой, поддерживающей 256 цветов, то программа ограничена использованием уже 20 стандартных чистых цветов. Если вы используете систему цветовой палитры Windows, поддерживаемую MFC-классом CPalette, то можете выбрать любые 256 из 16,7 миллиона цветов. 24-рязрядная видеоплата, поддерживает 24-разрядное представление цвета, что позволяет отображать 16,7 миллиона чистых цветов, но при этом потребуется не менее 2,5 Мбайт видеопамяти.

В табл. 10.3 приведены значения, которые передаются в макрос RGB() для описания 16 чистых цветов, доступных в стандартном графическом режиме VGA.

Т а б л и ц а 10.3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]