Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РиЭУБД(4к2с).docx
Скачиваний:
1
Добавлен:
24.08.2019
Размер:
162.26 Кб
Скачать

Реализация интерфейса с использованием графики

  1. Поддержка графики в windows

  2. Вывод графической информации в Delphi

  3. Методы вычеркивания графических примитивов

Для того, чтобы вывести на поверхность объекта графический элемент, необходимо применить к свойству Canvas данного объекта соответствующий метод.

Поверхности, на которые программа может выводить графику, соответствует свойство canvas, которое в свою очередь является объектом типа TCanvas.

Методы, обеспечивающие вычеркивание на поверхности холста графические примитивы, используют карандаш и кисть.

Карандаш (pen) применяется для вычеркивания линий и контуров.

Кисть (brush) применяется для закрашивания областей ограниченных контурами.

Color – цвет линии

Wirth – толщина линии

Style – вид линии

Mode – режим отображения

Свойства Type объекта pen:

psSolid – сплошная линия

psDash – пунктирная линия, длинные штрихи

psDot – пунктирная линия, короткие штрихи

psDashDot – пунктирная линия, чередование длинного и короткого штриха

psDashDotDot – пунктирная линия, чередование 1 длинный – 2 коротких

psClear – линия не отображается

Свойство Mode определяет, как будет формироваться цвет точек линии в зависимости от цвета точек холста, по умолчанию вся линия вычерчивается цветом, определяемая значением свойства pen.color.

Однако, программист может задать инверсный цвет линий по отношению к цвету фона, независимо от цвета фона, все указанные линии будут видны.

Значение свойства Mode объекта TPen:

pmBlack – цвет линии черный, независимо от значения Pen.Color

pmWhite – цвет линии белый, независимо от значения Pen.Color

pmCopy – цвет линии определяется значением Pen.Color

pmNotCopy – цвет линии инверсный, по отношению от значения Pen.Color

pmNot – цвет точки линии определяется как инверсный по отношению к цвету точки холста, в которую выводится точка линии.

Кисть обладает двумя свойствами: Color and Style.

Значение свойства Style объекта TBrush:

bsSolid – сплошная заливка

bsClear – область не закрашивается

bsHorizontal – горизонтальная штриховка

bsVertical – вертикальная штриховка

bsFDiagonal – диагональная штриховка с наклоном вперед

bsBDiagonal – диагональная штриховка с наклоном назад

bsCross – горизонтально-вертикальная штриховка, в клетку

bsDiagCross – диагональная штриховка в клетку

Методы вычеркивания графических примитивов

  1. Линия – LineTo (x, y)

Метод LineTo вычеркивает прямую линию от текущей позиции карандаша, в точку с координатами указанными при вызове метода, начальная точка указывается при помощи метода MoveTo.

  1. Окружность и эллипс – Ellipse(x1, y1; x2, y2)

Метод Ellipse вычеркивает эллипс или окружность, в зависимости от значения параметров.

  1. Дуга – Arc (x1, y1, x2, y2, x3, y3, x4, x4)

  2. Прямоугольник – Rectangle (x1, y1, x2, y2)

RoundRec (x1, y1, x2, y2, x3, y3) – прямоугольник с округлыми сторонами

Пример 1:

Canvas.pen.color:=clred;

With form1.canvas do

Begin

Canvas.pen.width:=2;

Moveto(10;10);lineto(50;100);

Moveto(50;100);lineto(100;150);

Moveto(100;150);lineto(100;200);

Moveto(100;200);lineto(200;150);

Moveto(200;150);lineto(10;10);

End;

Пример 2: Вывести в окно формы два прямоугольника, закрашенных разными стилями.

Var

X,y: integer;

W,h: integer;

X1,y1: integer;

W1,h1: integer;

Begin

W:=100;

H:=100;

Y:=50;

X:=50;

Canvas.brush.color:=clred;

Canvas.brush.style:=bsconlid;

Canvas.rectangle(x,y,x+w,y+h);

Canvas.brush.style:=bsclear;

W1:=50;

H1:=100;

Y1:=160;

X1:=110;

Canvas.brush.color:=clgreen;

Canvas.brush.style:=bscross;

Canvas.rectangle(x1,y1,x1+w1,y1+h1);

Canvas.brush.style:=bsclear;

End;