Графические инструменты в 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) – функция, возвращающая ширину текста.