Графические инструменты в Delphi
Компоненты для отображения изображений
TImage (страница Additional) – рисунок, предназначен для размещения графических изображений.
Picture | Изображение. Некоторые методы: Procedure LoadFromFile(<имя>) – загружает изображение из файла Procedure SaveToFile(<имя>) –сохраняет изображение в файле |
AutoSize: Boolean | Разрешает/запрещает изменять размер компонента |
Align | Выравнивание компонента: alNone – нет; alBottom – по нижнему краю; alLeft – по левому краю; alRight – по правому краю; alTop – по верхнему краю; alClient – по всей рабочей области; alCustom - другое |
Center: Boolean | Определяет выравнивание изображения внутри компонента. Если значение свойства True, то изображение центрируется. Если AutoSize=True или Stretch=True, или изображение – иконка, то значении свойства игнорируется. |
IncrementalDisplay: Boolean | Разрешает/запрещает показ большого изображения во время его загрузки. |
Stretch: Boolean | Разрешает/запрещает масштабировать изображение, т.е. растягивать или сжимать его в зависимости от размера компонента. Игнорируется при AutoSize=True |
TShape(страница Additional) – фигура.
Shape | Тип фигуры: StRectangle – прямоугольник StSquare – квадрат StRoundRect – скругленный прямоугольник StRoundSquare – скругленный квадрат StEllipse – эллипс StCircle – окружность |
Pen | Стиль контура |
Brush | Свойства заливки. |
TPaintBox(страница System) – окно для рисования произвольных изображений. Для рисования используются графические инструменты Font, Pen, Brush, Canvas.
Графические инструменты в Delphi
На большинстве видимых компонентов можно рисовать, используя графические инструменты. Основным инструментом является канва. Ее можно рассматривать, как прозрачную пленку, натянутую поверх большинства компонентов и позволяющую рисовать, используя кисти, перья и шрифты.
Цвета точек канвы хранятся в двумерном массиве Pixels. Поэтому цвет любой точки можно изменить, используя оператор присваивания, например: Canvas.Pixels[5,5]:=clRed
Перо (Canvas.Pen)
С его помощью рисуются линии, в частности контуры фигур.
Color – цвет линии
Width –толщина линии
Mode – способ взаимодействия с фоном:
pmBlack –всегда черные
pmWhite – всегда белые
pmNop – невидимые
pmNot – инверсия цвета фона
pmCopy – цвет Color
Style - стиль линии
psSolid – непрерывная
psDash – «длинный» пунктир
psDot – «короткий» пунктир
psDashDot – штрих-пунктирная
psDashDotDot
psClear – невидимая
Кисть (Canvas.Brush)
Этот инструмент предназначен для закрашивания областей и фигур, нарисованных на канве
Color – цвет
Style – стиль закраски
bsSolid | bsBDiagonal | bsFDiagonal | bsCross | bsDiagCross | bsHorizontal | bsVertical |
BitMap – растровое изображение, которое будет использоваться для заполнения. С помощью этого свойства для заливки может быть выбрана любая фактура, для которой имеется bmp-файл.
Некоторые методы Canvas
MoveTo (X,Y) - установить перо в точку (X,Y)
LineTo (X,Y) –рисует отрезок от текущей точки до точки (X,Y)
Rectangle (X1,Y1,X2,Y2) – рисует закрашенный прямоугольник. Параметры – это координаты левого верхнего и правого нижнего угла прямоугольника.
FrameRect(rect:TRect) – рисует рамку вокруг прямоугольника Trect. TRect – это записной тип, который может иметь поля Left, Top, Right, Bottom для хранения координат левого верхнего и правого нижнего угла прямоугольника.
Polygon(P:array of TPoint) – рисует многоугольник, координаты которого хранятся в массиве P. TPoint – это записной тип с двумя полями X,Y
Polyline(P:array of TPoint) – процедура рисует ломаную, по точкам, заданным в массиве P.
Ellipse(X1,Y1, X2,Y2) – рисует закрашенный эллипс. Параметры – это координаты прямоугольника, описанного около данного эллипса.
Arc(X1,Y1, X2,Y2, X3,Y3,X4,Y4) – дуга эллипса, лежащая между лучами исходящими из центра эллипса и проходящими через точки (X3,Y3) и (X4,Y4). Точки могут не лежать на эллипсе. Выбирается та дуга, для которой перемещение от точки (X3,Y3) к (X4,Y4) происходило против часовой стрелки.
Pie(X1,Y1, X2,Y2, X3,Y3,X4,Y4) – сектор эллипса.
Chord (X1,Y1, X2,Y2, X3,Y3,X4,Y4) – сегмент эллипса.
FloodFill(X,Y, Color, FillStyle) – заливка области, начиная с точки (X,Y). Последний параметр может иметь одно из двух значений: fsSurface – заливка распространяется на все соседние точки цвета Color, fsBorder – заливка прекращается на точках цвета Color.
TextOut(X,Y,Text) – выводит строку Text так, чтобы левый верхний угол прямоугольника, охватывающего текст, имел координаты (X,Y).
TextHeight(Text) – функция, возвращающая высоту текста.
TextWidth(Text) – функция, возвращающая ширину текста.