Графика
В Delphi имеются классы существенно упрощающие использование графических средств:
TCanvas – контекст изображения
TFont - шрифт
TPen – перо
TBrush – заливка
Связанные с этими классами объекты при необходимости создаются автоматически для всех визуальных компонент, однако не все классы доступны у определенных визуальных компонент.
Для работы с изображениями используются:
TPicture – контейнер для изображений
TIcon - значок
TBitmap – растровые изображения
TMetafile - метафайл
TImage – базовый класс для графических объектов изображения
Рисование:
Поверхность рисования представляет собой объект класса TCanvas, который называется холстом.
Любая поверхность рисования включает в себя шрифт, перо и заливку. Перо и заливка используются для прорисовки фигур, а шрифт – для управления атрибутами текста.
При выполнении графических операций используется текущий указатель – указатель позиции. Он представляет собой маркер определяющий позицию на поверхности рисования, начиная с которой выполняется следующая графическая операция.
Текущая позиция определяется горизонтальной (х) и вертикальной (у) координатами.
По умолчанию начало системы координат находится в левом верхнем углу поверхности рисования, отсчет координат осуществляется в пикселах.
Для перемещения указателя используется:
MoveTo (x:integer;y:integer);//указатель перемещается в позицию с координатами х,у.
Рисование геометрических фигур:
Arc (x1,y1,x2,y2,x3,y3,x4,y4: integer) – рисование дуги
Ellipse (x1,y1,x2,y2:integer) – эллипс с заполнением
LineTo (x,y:integer)-линия от указателя до точки
Rectangle (x1,y1,x2,y2: integer) – заполненный прямоугольник
Pie (x1,y1,x2,y2,x3,y3,x4,y4:integer) – замкнутая фигура с закругленным верхом
FillRect (const rect:integer) – прямоугольник с заполнением
FrameRect (const rect:integer) – незаполненный прямоугольник
Polygon (const point: array of point) – многоугольник с заполнением
PolyLine (const point: array of point) – незаполненный многоугольник
Процедура CopyRect (Dest:TRect; Canvas: TCanvas; Source:TRect) копирует прямоугольную область, размеры которой заданы параметром Source из исходной поверхности, заданной параметром Canvas, в прямоугольную область Dest.
Адресатом операции является поверхность, для которой была вызвана процедура.
Если исходная и результирующая поверхности имеют разные размеры, то копируемый образ масштабируется под размеры области Dest, т. е результирующей поверхности.
Свойство ClipRect определяет границы области поверхности рисования в пределах которой осуществляется прорисовка. Часть изображения выходящая за пределы этого прямоугольника отсекается и не выводится.
Это свойство используется для ускорения процесса отображения. По умолчанию границы отсечения установлены по размерам поверхности коспонента.
Draw (x,y:integer; Graphic:TGraphic); - процедура вывода изображения на поверхность рисования, в которой х,у – левый верхний угол начала вывода, а параметр Graphic задает выводимое изображение.
Занимаемая изображением область зависит от размера изображения. Если рисунок не входит, то применяется процедура StrechDraw(), в которой для изображения задается прямоугольная область.
Свойство LoadFromFile используется для загрузки изображения в переменную.
Установка параметра шрифта:
Name – имя шрифта
Style – стиль ( bold – жирный, underline – нижнее подчеркивание, italic – курсив)
Size - размер
Color – цвет
Свойства TPen:
Style – стиль рисования
psSolid – сплошная прорисовка
psDash - штрихи
psDot - пунктир
psClear – невидимая линия
Width - размер пера
Mode –как перо при рисовании линий взаимодействует с имеющимися линиями
pmBlack – всегда черный
pmWhite – всегда белый
pmNop – не изменяется
pmNot – инверсия при повторном рисовании
pmCopy – совпадение с цветом, указанным в свойстве Color
pmNotCopy – инверсия цвета пера
Свойства Brush (кисть):
Style - стили
bsSolid – сплошная заливка
bsClear – нет заливки
bsGorizontal – горизонтальные линии
bsVertical – параллельные вертикальные линии
bsfDiagonal – диагональные линии направленные вверх
bsbDiagonal - диагональные линии направленные вниз
bsGross – прямая решетка
bsDiagGross – диагональная решетка
BitMap – изображение в качестве стиля кисти
Последовательность дейтвий при создании анимации:
Вывести объект на экран
Подождать
Стереть объект с экрана
Вывести объект с некоторым смещением
