- •12.Списки
- •Interface
- •Implementation
- •13.Модули
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •14.Таблицы
- •Interface
- •Implementation
- •15.Графика, отображение графиков функций
- •Interface
- •Implementation
- •Initialization
- •16.Графика, примитивы
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Initialization
- •17.Графика, растровые изображения и анимация
- •Interface
- •Implementation
- •Initialization
- •Interface
- •Implementation
- •18.Тестирование и отладка
- •19.Квадратное уравнение
- •Interface
- •20.Класс tThread
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •21.Класс tStream
- •Interface
- •Implementation
- •Initialization
- •Interface
- •Implementation
- •Initialization
- •22.Создание в Delphi кроссплатформенного приложения
16.Графика, примитивы
Подготовка к работе
По указанной литературе изучить:
Назначение, типы и методы работы с графическими примитивами.
Свойства компонента TShape.
Метафайлы.
Контрольные вопросы
Назначение графических примитивов.
Графический примитив Линия и метод LineTo его отображения.
Графический примитив Кусочно-ломаная линия и метод PolyLine и его отображения.
Графический примитив Хорда (линия поперек эллипса) и метод Chord его отображения.
Графический примитив Прямоугольная рамка и метод FrameRect его отображения.
Графический примитив Заполненный прямоугольник и метод Rectangle его отображения.
Графический примитив Заполненный многоугольник и метод Polygon его отображения.
Графический примитив Заполненный прямоугольник со скругленными углами и метод RoundRect его отображения.
Графический примитив Дуга и метод Arc его отображения.
Графический примитив Заполненный эллипс и метод Ellipse его отображения.
Графический примитив Пирог (сектор эллипса) и метод Pie его отображения.
Метод заполнения замкнутых фигур FloodFill (заполнить область),
Методы вывода текста: TextOut (вставить строку текста).
Компонент TShape.
Метафайлы, назначение, структура, создание и использование.
Задание к работе
Создать программу рисования в форме графического примитива с заливкой. Примитив рисуется при нажатии кнопки мыши (событие onDown) на форме. Цвет линий, стиль и цвет заливки зависит от того, какая кнопка мыши нажимается (левая или правая). Проект – приложение. Варианты заданий приведены в табл. 16 .4.
табл. 16.4. Варианты задания 1
№ |
Примитив |
Цвет линий |
Заливка |
||
Левая кнопка |
Правая кнопка |
Стиль |
Цвет |
||
1 |
Ellipse |
clBlue |
clGreen |
bsSolid |
clRed |
2 |
Rectangle |
clGreen |
clWhite |
bsHorizontal |
clBlue |
3 |
Pie |
clWhite |
clRed |
bsVertical |
clGreen |
4 |
RoundRec |
clRed |
clBlue |
bsDiagonal |
clWhite |
5 |
Polygon (3) |
clBlue |
clGreen |
bsBDiagonal |
clRed |
6 |
Ellipse |
clGreen |
clWhite |
bsCross |
clBlue |
7 |
Rectangle |
clWhite |
clRed |
bsDiagCros |
clGreen |
8 |
Pie |
clRed |
clBlue |
bsSolid |
clWhite |
9 |
RoundRec |
clBlue |
clGreen |
bsHorizontal |
clRed |
10 |
Polygon (7) |
clGreen |
clWhite |
bsVertical |
clBlue |
11 |
Ellipse |
clWhite |
clRed |
bsDiagonal |
clGreen |
12 |
Rectangle |
clRed |
clBlue |
bsBDiagonal |
clWhite |
13 |
Pie |
clBlue |
clGreen |
bsCross |
clRed |
14 |
RoundRec |
clGreen |
clWhite |
bsDiagCros |
clBlue |
15 |
Polygon (6) |
clWhite |
clRed |
bsSolid |
clGreen |
Создать проект, демонстрирующий использование графического компонента TShape для изменения пользовательского интерфейса при выполнении программы. В проекте на форме с изменяемым цветом отображается фигура с разными типом, размерами и цветом. Варианты заданий приведены в табл. 16 .5. Возможные типы фигуры:
Тип |
Имя |
Круг |
StCircle |
Эллипс |
stEllipse |
Прямоугольник |
stRectangle |
Прямоугольник со скругленными углами |
stRoundRect |
Квадрат |
stsquare |
Квадрат со скругленными углами |
stRoundSquare |
табл. 16.5. Варианты задания 2
1 |
stCircle |
stEllipse |
stRectangle |
2 |
stEllipse |
stRectangle |
stRoundRect |
3 |
stRectangle |
stRoundRect |
stsquare |
4 |
stRoundRect |
stsquare |
stCircle |
5 |
stsquare |
stRoundSquare |
stRectangle |
6 |
stRoundSquare |
stCircle |
stRoundRect |
7 |
stCircle |
stRectangle |
stsquare |
8 |
stEllipse |
stRoundRect |
stRoundSquare |
9 |
stRectangle |
stsquare |
stRectangle |
10 |
stRoundRect |
stRoundSquare |
stRoundRect |
11 |
stsquare |
stRoundRect |
stsquare |
12 |
stRoundSquare |
stsquare |
stRoundSquare |
13 |
stCircle |
stRoundSquare |
stRoundSquare |
14 |
stEllipse |
stRoundRect |
stsquare |
15 |
stRectangle |
stsquare |
stCircle |
Создать проект работы с метафайлом. Метафайл содержит график с графическими примитивами,, создается программно, отображается на форме и сохраняется на диске ПК. Для проверки праильности метафайла он считывается в компонент Image формы. Проект – приложение. Графические примитивы студент выбирает самостоятельно.
Пример выполнения
Задание 1
Создать программу рисования в форме графического примитива с заливкой. Примитив - пятиугольная звезда, рисуется при нажатии кнопки мыши (событие onDown) на форме. Если нажата левая кнопка мыши, то цвет линий clBlack (черный), стиль заливки bsDiagCross (диагональный крест), цвет заливки - clRed (красный). Если нажата правая кнопка мыши, то цвет линий clRed (красный), стиль заливки bsCross ( крест), цвет заливки clBlue (синий). Проект – приложение.
Листинг модуля формы
unit Prg_16_1_;
