Программирование на С++ с помощью компилятора Borland C++ 5.02 и библиотеки OWL 5.00

       

Контекст устройства.


     Контекст устройства - это структура данных, в которой содержатся различные графические параметры. По умолчанию они принимают стандартные значения, чтобы сразу после создания контекста его можно было сразу использовать. Например, после создания нами контекста dc мы получили:

     белый цвет фона (Brush - кисть);

     черный цвет карандаша (Pen - карандаш);

     стандартный тип линии (PS_SOLID - непрерывная);

     Однако придерживаться стандартных параметров не обязательно. С помощью функций-членов класса TDC мы можем определить свой контекст.

Объекты GDI.

Базовые методы:

     MoveTo()

1. MoveTo(10, 10); - перемещает текущую позицию в точку с координатами A(10,10).

2. TPoint p1(10, 10);

    MoveTo(p1); - перемещает текущую позицию в точку с координатами A(10,10) с использованием класса TPoint() - точки.

     LineTo()

1. LineTo(10, 10); - рисует линию от текущей позиции до точки с координатами A(10,10).



2. TPoint p1(10, 10);

    LineTo(p1); - рисует линию от текущей позиции до точки с координатами A(10,10) с использованием класса TPoint() - точки.

Прямоугольники:

     Rectangle()

1. dc.Rectangle(10, 10, 100, 100); - рисует прямоугольник между точками с координатами A(10,10) и B(100,100).

2. TPoint p1(10, 10), p2(100, 100);

    dc.Rectangle(p1, p2); - рисует прямоугольник между точками с координатами A(10, 10) и B(100, 100) с использованием класса TPoint() - точки.

3. TPoint p1(10, 10);

    TSize sz(90, 90);

    dc.Rectangle(p1, sz); - рисует прямоугольник между точками с координатами A(10, 10) и B(100, 100) с использованием класса TPoint() - точки и TSize - размера.

4. TRect rect(10, 10, 100, 100);

    dc.Rectangle(rect); - рисует прямоугольник между точками с координатами A(10, 10) и B(100, 100) с использованием класса TRect() - прямоугольник.


     RoundRect()

1. TPoint p1(10, 10), pRadius(100, 100);

    TSize sz(200, 200);

    dc.RoundRect(p1, sz, pRadius); - рисует прямоугольник с закругленными углами, лежащий между точками с координатами A(10, 10) и B(210, 210) с использованием класса TPoint() - точки и TSize - размера.

     FillRect()

1. TBrush brush(TColor::LtRed);

    TRect rect(10, 10, 100, 100);

    dc.FillRect(rect, brush); - рисует закрашенный красным цветом прямоугольник между точками с координатами A(10, 10) и B(100, 100) с использованием класса TRect() - прямоугольник и TBrush - кисть.

     InvertRect()

1. dc.InvertRect(10, 10, 100, 100); - инвертирует цвета в прямоугольной области между точками с координатами A(10, 10) и B(100, 100).

2. TRect rect(10, 10, 100, 100);

    dc.InvertRect(rect); - инвертирует цвета в прямоугольной области между точками с координатами A(10, 10) и B(100, 100) с использованием класса TRect() - прямоугольник.

Окружности:

     Ellipse()

1. dc.Ellipse(10, 10, 100, 100); - рисует эллипс, вписанный в прямоугольник, лежащий между точками с координатами A(10, 10) и B(100, 100).

2. TPoint p1(10, 10), p2(100, 100);

    dc.Ellipse(p1, p2); - рисует эллипс, вписанный в прямоугольник, лежащий между точками с координатами A(10, 10) и B(100, 100) с использованием класса TPoint() - точки.

4. TRect rect(10, 10, 100, 100);

    dc.Ellipse(rect); - рисует эллипс, вписанный в прямоугольник, лежащий между точками с координатами A(10, 10) и B(100, 100) с использованием класса TRect() - прямоугольник.

     Arc() - дуга.

1. TRect rect(100, 30, 300, 330);

    TPoint p1(350, 45), p2(50, 45);

    dc.Arc(rect, p1, p2); - рисует дугу, расположенную между точками C(350, 45) и D(50, 45) и вписанную в прямоугольник, лежащий между точками с координатами A(100, 30) и B(300, 330). Угол изменяется при движении по эллипсу против часовой стрелкию



      Методы Chord() (сегмент) и Pie() (сектор) принимают такие же аргументы, имеющие тот же смысл, что и в случае метода Arc(). Сегмент получается из дуги соединением конечных точек, а сектор - соединением конечных точек с центром эллипса.      Вывод текста.

1. dc.TextOut(10, 10, "Текст"); - выводит текст в точку с координатами A(10, 10).

2. TPoint p1(10, 10);

    dc.TextOut(p1, "Текст"); - выводит текст в точку с координатами A(10, 10) с использованием класса TPoint() - точки.

Другие объекты GDI.

     Перья - класс TPen().

     Класс TPen имеет шестьразличных конструкторов, принимающих различный набор аргументовю Самая употребительная форма:

TPen(TColor color, int width = 1, int style = PS_SOLID);

     Первый параметр - экземпляр объекта TColor, который определяет конкретный цвет. Второй аргумент представляет ширину, а последний стиль.

     Ниже перечислены возможные стили:



     
Перья используются для того, чтобы установить цвет и стиль линий или границ фигур.

     Кисти - класс TBrush().

     Создание простой кисти:

TBrush(TColor color)

     Создание штриховой кисти:

TBrush(TColor color, int style)

     В первом случае кисть просто заполняет фигуры указанным цветом.

     Во втором - фон заполнится конкретным шаблоном штриховки соответствующего цвета.

     Ниже перечислены возможные шаблоны штриховок:



Кисти используются для указания цвета и стиля фонов или заливок.


Содержание раздела