Перечень операторов для построения примитивов

LineTo(x,y) – строит отрезок от графического курсора до точки с координатами

Графический курсор – вспомогательная точка экрана, координаты которой хранятся канвой в полях PenPos.X, PenPos.Y. Курсор можно установить в точку оператором MoveTo(x0,y0). Метод LineTo(x,y) переустанавливает курсор в точку .

Arc(x1,y1,x2,y2,x3,y3,x4,y4) – строит дугу эллипса.

Эллипс вписывается в прямоугольник с диагональными вершинами , . Центр располагается в точке . Точки , задают лучи , которые пересекаясь с эллипсом определяют начальную и конечную точки дуги. Дуга вычерчивается от точки к против часовой стрелки. Внутренность не закрашивается.

 

Ellipse(x1,y1,x2,y2) – строит эллипс.

Эллипс вписывается в прямоугольник с диагональными вершинами , . Внутренность эллипса закрашивается кистью.

 

Chord(x1,y1,x2,y2,x3,y3,x4,y4) – строит сегмент эллипса.

Сегмент образован дугой (см. Arc), концы которой соединены отрезком. Сегмент закрашивается кистью.

 

Pie(x1,y1,x2,y2,x3,y3,x4,y4) – строит сектор эллипса.

Сектор строится как дуга, концы которой соединяются с центром эллипса. Сектор закрашивается кистью.

 

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

Прямоугольник задаётся диагональными вершинами , . Внутренность закрашивается кистью.

 

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

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

 

Polygon(массив точек типа TPoint) – строит замкнутую ломаную линию.

Массив можно задать непосредственно, например,

Polygon([Point(x1,y1), Point(x2, y2), …, Point(xN,yN)]);

Точки (x1,y1),(x2, y2), …, (xN,yN) последовательно соединяются отрезками, причём последняя соединяется с первой, образуя замкнутую линию. Внутренность закрашивается кистью.

 

PolyLine(массив точек типа TPoint) – строит ломаную линию.

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

 

FrameRect(x1,y1,x2,y2) – строит прямоугольную рамку.

То же, что Rectangle , только рамка шириной в 1 пиксель красится цветом кисти, а внутренность не закрашивается.

Билет №25:

Битовые карты

1) Битовой картой называется участок памяти, организованный для хранения картинки. Тип: TBitMap.

2) Картинку битмапа можно сохранять методом SaveToFile.

3) Копирование изображений

 

Удобным средством построения сложных изображений, содержащих множество персонажей и двигающихся фигур, является прием копирования одной прямоугольной области канвы на другую. В зависимости от конкретной задачи целесообразно использовать следующие методы копирования.

Ø Canvas.Draw(X, Y, b): копирует на указанную канву Canvas картинку, которая содержится в графическом объекте b типа TGraphic (объединяет графические форматы .jpg, .jpeg, .ico, .emf, .wmf обычно b - битовая матрица .bmp). Картинка копируется на Canvas без изменения размера, начиная от точки с целыми координатами X, Y. В процессе выполнения операции может соблюдаться требование «прозрачности». Прозрачными считаются точки особого цвета, который указан свойством TransparentColor, например,
b.TransparentColor:=0
Такие точки не копируются, создавая впечатление прозрачных частей картинки b. Чтобы разрешить это действие необходимо установить свойство
b.Transparent:=True
В противном случае прозрачность игнорируется.

 

Ø Canvas.StretchDraw(область,b): делает тоже, масштабируя и подгоняя картинку под размеры прямоугольной «области». Параметр «область» является объектом типа TRect и может указываться непосредственно, например,
Canvas.StretchDraw(Rect(40, 20, 100,50), b)

Ø Canvas.CopyRect(D, канва-источник, S): универсальный метод копирования части одной канвы на другую. Параметры «канва-источник» и S задают канву картинки-оригинала и её прямоугольный фрагмент типа TRect, например,
Canvas.CopyRect(Rect(40, 20, 100,50), b.canvas, Rect(0, 0, 200,150))
Копирование осуществляется на Canvas с подгонкой в прямоугольник D типа TRect. Прозрачность не соблюдается, но в момент наложения точек выполняется некоторая логическая операция с цветом. Вид операции определяется режимом
Canvas.CopyMode, который может быть таким:
CopyMode:=cmSrcCopy - простое копирование;
CopyMode:=cmSrcAnd - режим AND;
CopyMode:=cmSrcPaint - режим OR;
CopyMode:=cmSrcInvert - режим XOR

 

Canvas.BrushCopy(D, канва-источник, S, цвет): копирует одну часть канвы на другую, используя параметры D, канва-источник, S как выше. Режим копирования игнорируется. Области, состоящие из точек заданного «цвета» заливаются кистью в соответствии с установками Canvas.Brush.

 

4) Разработка собственного шаблона заливки. При заливке области кистью используется шаблон (орнамент), который выбирается свойствами кисти Brush.SetStyle:=… из нескольких предопределённых вариантов. Программист имеет возможность разработать собственный шаблон в виде битмапа 8х8 точек, который загружается в свойства кисти Brush.Bitmap:=Nil; - сбрасывается.

 

Билет №26,27:

Проект Delphi

 

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

ü Проект удобен при коллективной разработке программы.

ü Обычно в состав проекта входит головной модуль с расширением dpr и модуль формы (окна программы) с расширением pas

 

Заготовка проекта создаётся по умолчанию, или из меню

File\New\Application

 

ü Язык Delphi разработан для программирования в операционной системе Windows. Он использует идеологию этой системы

1. главным элементом системы Widows является окно, обладающее визуальными свойствами (размер, цвет, заголовок и др.)

2. окно содержит другие элементы (кнопки, окна редактирования и т.п.)

3. в окнах происходят события, которые отслеживаются и обрабатываются системой (нажатия клавиш, щелчки мыши и др.)

ü Программирование в Delphi строится по модульному принципу. Программа пишется в виде проекта, состоящего из головного модуля и подключаемых к нему библиотек. В библиотеках реализуются главные цели программы. Например, программный код, определяющий структуру и функционирование главного окна (формы), описывается в виде библиотеки.

 

Код головного модуля обычно скрыт, а на экране отображена форма и текст её библиотечного модуля