Карандаш и кисть
Методы вычерчивания графических примитивов обеспечивают только вычерчивание. Вид графического элемента определяют свойства
Реn(карандаш) и Brush (кисть) той поверхности (Canvas), на которой рисует метод.
Карандаш и кисть, являясь свойствами объекта Canvas, в свою очередь представляют собой объекты
Реn и Brush. Свойства объекта Реп (табл. 3.2) задают цвет, толщину и тип линии или границы геометрической фигуры. Свойства объекта
Brush (табл. 3.3) задают цвет и способ закраски области внутри прямоугольника, круга, сектора или замкнутого контура.
Таблица 3.2. Свойства объекта Реn (карандаш)
Свойство |
Определяет |
Color |
Цвет линии |
Width |
Толщину линии (задается в пикселах) |
Style |
Вид линии (psSolid— сплошная; psDash— пунктирная, длинные штрихи;
psDot — пунктирная, короткие штрихи; psDashDot — пунктирная, чередование длинного и короткого штрихов;
psDashDotDot — пунктирная, чередование одного длинного и двух коротких штрихов;
psClear — линия не отображается (используется, если не надо изображать границу области — например, прямоугольника) |
Таблица 3.3. Свойства объекта Brush (кисть)
Свойство |
Определяет |
Color |
Цвет закрашивания замкнутой области |
Style |
Стиль заполнения области (bsSolid — сплошная заливка. Штриховка: bsHorizontal — горизонтальная;
bsVertical — вертикальная; bsFDiagonal — диагональная с наклоном линий вперед;
bsBDiagonal — диагональная с наклоном линий назад; bsCross — в клетку;
bsDiagCross — диагональная клетка |
Ниже приведена функция обработки события onPain, которая рисует на поверхности формы олимпийский флаг.
void__fastcall TForml::FormPaint(TObject *Sender)
{
// полотнище флага
Canvas->Pen->Width = 1;
Canvas->Pen->Color = clBlack;
Canvas->Brush->Color = clCream;
Canvas->Rectangle(30,30,150,150);
Canvas->Pen->Width =2; // ширина колец
Canvas->Brush->Style = bsClear; // чтобы круг, нарисованный
// методом Ellipse, не был закрашен
// рисуем кольца
Canvas->Pen->Color = clBlue; Canvas->Ellipse(40,40,80,80) ;
Canvas->Pen->Color = clBlack; Canvas->Ellipse(70,40,110,80);
Canvas->Pen->Color = clRed; Canvas->Ellipse(100,40,140,80);
Canvas->Pen->Color = clYellow; Canvas->Ellipse(55,65,95,105);
Canvas->Pen->Color = clGreen; Canvas->Ellipse(85,65,125,105);
}
Forekc.ru Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий |