Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабник по Delphi.pdf
Скачиваний:
48
Добавлен:
01.06.2015
Размер:
1.09 Mб
Скачать

26 –

фикации номера телефона. Обеспечить возможность разрешения/запрещения модификации номера телефона.

3.По нажатию на кнопку один список (ListBox) заполняется последовательностью целых чисел от .. до .., диапазон задается в двух полях ввода. Выбор элемента в этом списке копирует его в другой список (ListBox). Еще одна кнопка служит для очистки списков. Причем выбор очищаемого списка осуществляется с помощью переключателей

(RadioButton).

ЛАБОРАТОРНАЯ РАБОТА 5

Цель работы

Целью работы являются:

изучение графических инструментов Delphi: шрифта, пера и кисти;

использование компонента Timer, компонента Image и его свойства Canvas;

использование стандартных диалогов ColorDialog и FontDialog.

Основные сведения

Для создания изображений Delphi поддерживает три основных инструментов – шрифта, пера и кисти. Шрифт создается при помощи класса TFont и используется для прорисовки текста. Перо создается при помощи класса TPen и предназначено для рисования линий. Для создания кисти используется класс TBrush. При помощи кисти реализуется заливка замкнутых областей каким-либо цветом или рисунком. Рисование графическими инструментами производится на канве (холсте), для создания которой предназначен класс TCanvas. Канву имеют практически все визуальные компоненты. В работе рассматривается компонент Image (страница Standard) специально предназначенный для вывода графических изображений.

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

Класс TFont

Основные свойства класса TFont.

Color : TColor. Задает цвет шрифта.

Name : TFontName. Задает имя используемого шрифта (Arial, Courier и т.п.).

Size : Integer. Задает размер шрифта в пунктах.

Style : TFontStyle. Определяет стиль шрифта. Это множество, элементами которого могут быть константы: fsBold – жирный, fsItalic – курсив, fsUnderline – подчеркнутый, fsStrikeOut – перечеркнутый.

Класс TPen

Основные свойства класса TPen.

Color : TColor. Задает цвет рисуемой линии.

Width : Integer. Задает ширину линии в пикселях.

Style : TPenStyle. Задает стиль линии. Стиль задается одной из констант: psSolid – сплошная линия, psDash – штриховая, psDot – пунктирная, psDashDot – штрихпунктирная, psDashDotDot- штрих и два пунктира, psClear – пустая линия. Это свойство актуально только для линий толщиной в 1 пиксел.

Mode : TpenMode. Задает способ взаимодействия линии с фоновым изображением. Существует 16 вариантов значений этого свойства. Наиболее простыми являются: pmCopy – линии всегда выводятся поверх фона, pmXor – цвет линии получается операцией XOR цветов фона и пера, благодаря чему повторное рисование этой же самой линии восстанавливает цвет фона.

Калачев Д.П., Лутай В,Н,. Скороход С.В. Delphi. Лабораторные работы.

27 –

Класс TBrush

Основные свойства класса TBrush.

Color : TСolor. Задает цвет кисти.

Style : TBrushStyle. Задает стиль заливки. Значением является одна из констант: bsSolid

– сплошная заливка, bsClear – пустая заливка, bsBDiagonal, bsFDiagonal, bsCross, bsDiagCross, bsGorizontal, bsVertical – различные виды штриховок.

Bitmap : Tbitmap. Задает растровое изображение, которым производится заливка. При этом свойства Color и Style игнорируются.

Класс TCanvas

Данный класс позволяет описать канву (холст), на котором происходит рисование шрифтом, пером и кистью. Компоненты, допускающие рисование, имеют свойство

Canvas:TCanvas.

Основные свойства класса.

Brush : TBrush. Кисть канвы.

Font : TFont. Шрифт канвы.

Pen : TPen. Перо канвы.

ClipRect : TRect. Текущие размеры канвы. Тип TRect определен так:

Type

= Record

 

 

TPoint

 

 

X,Y: LongInt

 

 

end;

 

 

 

TRect = Record

of

 

case Integer

 

0: ( Left,

Top, Right, Bottom ) : Integer;

1: ( TopLeft, BottomRight )

: Tpoint

end;

 

 

 

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

PenPos : TPoint. Координаты текущего положения пера.

Pixels[ X,Y : Integer ] : TColor. Массив пикселей канвы. С его помощью можно получить или установить цвет произвольного пикселя. Однако попиксельное формирование изображений через это свойство происходит медленно и неэффективно.

Канва имеет набор методов, позволяющих рисовать примитивные изображения.

Arc( X1,Y1,X2,Y2,X3,Y3,X4,Y4 : Integer ). Рисует против часовой стрелки дугу эллипса, вписанного в прямоугольник (X1,Y1) – (X2,Y2). Начало и конец дуги находятся на пересечении эллипса и прямых, проведенных из центра эллипса соответственно в точки

(X3,Y3) и (X4,Y4).

Chord( X1,Y1,X2,Y2,X3,Y3,X4,Y4 : Integer ). Рисует дугу эллипса аналогично методу Arc и

соединяет линией её концы.

Pie( X1,Y1,X2,Y2,X3,Y3,X4,Y4 : Integer ). Рисует дугу эллипса аналогично методу Arc и со-

единяет линией её концы с центром эллипса.

Ellipse( X1,Y1,X2,Y2 : Integer ). Рисует эллипс, вписанный в прямоугольник (X1,Y1) – (X2,Y2), и заливает его текущей кистью.

FrameRect( R : TRect ). Рисует прямоугольник с координатами R с толщиной линии в 1 пиксель.

Rectangle( X1,Y1,X2,Y2 : Integer ). Рисует прямоугольник (X1,Y1) – (X2,Y2) и запол-

няет его текущей кистью.

LineTo( X, Y : Integer ). Рисует линию из текущего положения пера в точку (X,Y).

MoveTo( X, Y : Integer ). Перемещает перо в точку (X,Y).

PolyLine( P : TPoint ). Рисует ломаную по точкам, заданным в массиве P.

Калачев Д.П., Лутай В,Н,. Скороход С.В. Delphi. Лабораторные работы.

28 –

Polygon( P : TPoint ). Рисует ломаную по точкам, заданным в массиве P. Соединяет начальную точку с конечной и заливает многоугольник текущей кистью.

FloodFill( X, Y : Integer; Color : TColor; FillStyle : TfillStyle ). Начиная с точки (X,Y) зали-

вает канву текущей кистью. Если FillStyle=fsSurface, то заливка распространяется на все соседние точки цвета TColor. Если FillStyle=fsBorder, то заливка останавливается на точках цвета TColor.

TextOut( X,Y: Integer; Text : String ). Выводит строку Text так, чтобы левый верхний угол охватывающего её прямоугольника располагался в точке (X,Y).

TextHeight( Text : String) : Integer. Возвращает высоту в пикселях прямоугольника, охватывающего строку Text.

TextWidth( Text : String) : Integer. Возвращает ширину в пикселях прямоугольника, охватывающего строку Text.

Компонент Image

Компонент находится на странице Additional и предназначен для отображения 3 видов изображений: растровой картинки (класс TBitMap), пиктограммы (класс TIcon) и метафайла

(класс TMetafile).

Основные свойства компонента.

Picture : TPicture. Содержит картинку в одном из трех упомянутых форматов.

Canvas : TCanvas. Канва компонента. Рисование на канве возможно только в том случае, если компонент отображает растровую картинку.

Компонент Timer

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

Основные свойства компонента.

Interval : Integer. Задает интервал времени в миллисекундах, через который выполняются действия, предусмотренные таймером.

Enabled : Boolean. Определяет состояние таймера. True – таймер включен, False – таймер выключен.

С таймером связано событие OnTimer, обработчик которого выполняется через заданный интервал времени.

Стандартный диалог ColorDialog

Расположен на странице Dialogs и предназначен для выбора цвета. Компонент помещается на форму, а в нужный момент диалог запускается на выполнение методом Execute:

ИмяДиалога.Execute;

Метод возвращает True, если цвет выбран и нажата кнопка Ok, и False, если нажата кнопка Cancel. Выбранный цвет находится в свойстве Color:TColor.

Стандартный диалог FontDialog

Вызывается аналогично диалогу ColorDialog. Используется для выбора параметров объекта типа TFont. Основные свойства диалога.

MinFontSize : Integer. Задает минимальный размер выбираемого шрифта в пунктах (значение 0 означает отсутствие ограничения).

MaxFontSize : Integer. Задает максимальный размер выбираемого шрифта в пунктах (значение 0 означает отсутствие ограничения).

Font : TFont. Содержит параметры выбранного шрифта.

Калачев Д.П., Лутай В,Н,. Скороход С.В. Delphi. Лабораторные работы.