Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Встановлення атрибутів контексту відображення






Контекст відображення, крім характеристик пристрою виводу, містить вказівники на обрані в контекст інструменти малювання. Інструменти налагоджують за допомогою атрибутів контексту відображення (їх біля 20). Наприклад, атрибути описують систему координат, задають налагодження кольору графічних об'єктів та кольору фону. За їх допомогою можна обрати перо для малювання ліній та пензль для зафарбовування внутрішньої області замкнених фігур. При одержанні контексту відображення атрибути малювання містять значення за замовчуванням.

Функції встановлення значень атрибутів:

- SetBkColor - встановлює колір для фону операції виводу;

- RGB - повертає значення кольору в форматі COLORREF у вигляді інтенсивності червоної, зеленої та блакитної складової кольору;

- SetBkMode - встановлю режим фону (прозорий TRANSPARENT та непрозорий OPAQUE);

- SetROP2 - встановлює новий режим малювання;

- SetTextColor - втсановлює колір виводу символів тексту;

- SetTextCharacterExtra - встановлює відстань між бувами тексту;

- CreateSolidBrush - створює пензль кольору сrColor;

- CreateHatchBrush - створює штрихований пензль;

- SelectObject - вибір пензля або пера в контекст;

- DeleteObject - видаляють створений пензль або перо з контексту;

- CreatePen - створює перо стилю fnPenStyle шириною nWidth кольору crColor;

- SetMapMode - змінює режим відображення, який впливає на систему координат (напрямок і масштаб координатних вісів);

- SetWindowExtEx, SetViewportExtEx - встановлюють орієнтації вісів та одиниць;

- SetWindowOrgEx - встановлює початок (xWin0, yWin0) логічної системи координат;

- SetViewportOrgEx - встановлює зміщення фізичної і логічної систем координат.

Приклади.

Задача. Створити пензль в клітинку з горизонтальних і вертикальних ліній малінового кольору, обрати її в контекст, зафарбувати фігури та видалити створений пензль.

Розв‘язок.

HBRUSH hNewBrush=CreateHatchBrush(HS_CROSS, RGB(255, 0, 255));

HBRUSH hOldBrush=(HBRUSH) SelectObject(hdc, hNewBrush);

//Тут можуть бути зафарбовані фігури

SelectObject(hdc, hOldBrush);

DeleteObject(hNewBrush);

Задача. Створити перо для малювання суцільних ліній шириною в 3 пікселя блакитного кольору, обрати його в контекст, намалювати лінії і видалити створене перо.

Розв‘язок.

HPEN hNewPen=CreatePen(PS_SOLID, 3, RGB(0, 255, 255));

HPEN hOldPen=(HPEN)SelectObject(hdc, hNewPen);

SelectObject(hdc, hOldPen); DeleteObject(hNewPen);

Задача. Створити систему координат з початком відліку в лівому нижньому куті вікна. Вісь Х направити зліва направо, вісь У - знизу догори. Логічні значення виости і ширини змінювати від 0 до 1000. Встановити однаковий масштаб за вісями Х і У.

Розв‘язок.

SetMapMode(hdc, MM_ISOTROPIC);

SetWindowExt(hdc, 1000, 1000);

SetViewportExt(hdc, cxClient, -cyClient);

SetViewportOrg(hdc, 0, cyClient);


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал