Стиль пера |
Описание |
PS_SOLID |
Сплошная линия |
PS_DASH |
Пунктирнаялиния |
PS_DOT |
Точечнаялиния |
PS_DASHDOT |
Штрихпунктирнаялиния |
PS_DASHDOTDOT |
-*- сдвойнымиточками |
PS_NULL |
Пероничегонерисует |
PS_INSIDEFRAME |
Сплошная линия но с точками на грани пера а не в его центре |
Толщина линии задаётся в пикселях. Для сплошной и пустой линий она может быть любой. Для остальных стилей толщина должна быть равной только единице.
Цвет задаётся макросом RGB( красный, зелёный, голубой). Каждый цвет задаётся числом от 0 до 255. Например, RGB(255,0,0) соответствует красному цвету.
Пример 1.
CPen pen1;// Создан объект pen1
pen1.CreatePen(PS_DOT,5,RGB(0,0,0));// Перо будет рисовать пунктирную линию толщиной 5 пикселей чёрного цвета.
Такой способ рекомендуется в том случае, если одно и то же перо может менять стиль, толщину или цвет .
Пример 2 . Используется конструктор:
CPen pen2(PS_DOT,5,RGB(0,0,0));
2.4.1.1 Использование пера
Чтобы использовать перо, его нужно выбрать в контексте устройства, в котором выполняется рисование. Для этого служит метод класса CDC SelectObject(). Её аргументом является адрес объекта «Перо». Она возвращает адрес ранее установленного пера. Этот адрес можно присвоить указателю на класс CPen и восстановить старое перо по завершению рисования. Ниже приведен типичный пример выбора пера.
CPenpen1;
pen1.CreatePen(PS_SOLID,1,RGB(0,0,0));
CPen*pOldPen=pDC->SelectObject(&pen1);// Выбрали перо pen1. Адрес //старого пера занесли в указатель pOldPen
pDC->MoveTo(100,50);// Переместили курсор в заданную точку (100,50)
pDC->LineTo(200,150);//Нарисовали линию из точки(100,50) в точку //(200,150)
…………………………………………………
pDC->SelectObject(pOldPen);//Восстановили старое перо.
Внимание! Чтобы стереть линию или фигуру, нужно повторно её отобразить цветом фона.
2.4.2 Объект «Кисть» (Brush)
Представляет собой растровое изображение 8х8 пикселей. Его предназначение- закрашивание замкнутых областей. Различают две разновидности кисти: логическую и физическую. Объект GDI задаёт логическую кисть с набором свойств (стиль, цвет, форма). Возможно, не все эти свойства могут быть реализованы выбранным физическим устройством (физической кистью).
Различают четыре вида логических кистей, при создании которых используются различные методы.
· Сплошная кисть одного цвета. Создаётся с помощью метода CreateSolidBrush().
· Стандартные кисти. Используется метод CreateStockBrush().
· Штриховые кисти характеризуются цветом и штриховкой. Используются методы CreateHatchBrush() и CreateSysColorBrush().
· Шаблонные кисти могут иметь произвольную форму, заливаемую растровым изображением (BMP) либо аппаратно-независимым растровым изображением (DIB). Используются методы CreatePatternBrush() и CreateDibPatternBrush().
Следует также помнить, что стандартные кисти можно создавать с помощью конструкторов класса CBrush. Если параметры кисти с одним и тем же именем предполагается несколько раз изменять, удобно использовать конструктор с одним параметром- цветом. Но тогда следует использовать функцию SelectObject() для выбора этой кисти.
Пример.
CBrushbrush1(RGB(255,0,0));
pDC->SelectObject(brush1);//Выбрана кисть brush1 со сплошной заливкой красного цвета.
Имеется также конструктор с двумя параметрами: параметр закрашивания и цвет. Его применение оправдано, если кисть с данным идентификатором свои параметры не меняет. В общем виде определение и одновременно выбор кисти с помощью конструктора имеет вид:
CBrush имя_кисти(стиль_штриховки, цвет);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.