Поверхность рисования
Поверхность рисования представляет собой объект класса Tcanvas иногда его называют холст. Холст имеет большое число свойств и методов, позволяющих перемешаться по поверхности рисования, отображать графические примитивы, копировать изображения и их отдельные области, а также выводить текстовую информацию. Поверхность рисования включает в себя объекты: пера - TPen, кисти -TBrush, шрифта - Tfont.
Область рисования задается свойством ClipRect , по умолчанию клиентская область, используется только при чтении.
При выполнении графических операций используется текущий указатель, определяющий позицию на поверхности рисования, начиная с которой выполняется следующая графическая операция. Позиция определяется горизонтальной X и вертикальной Y координатами. Начало системы координат находится в левом верхнем углу поверхности рисования, а отсчет координат осуществляется в пикселях.
Цвет точки изображения определяется свойством Pixels[x,y] : Tcolor, которое можно читать и изменять.
Для перемещения текущего указателя в новую позицию с координатами X и Y можно использовать метод MoveTo (X Y: Integer). При перемещении на холсте ничего не рисуется. При выводе на холст фигур или текста указатель остается в позиции, где завершился вывод.
Для рисования геометрических фигур используются следующие методы:
Arc (Xl, Y1, Х2, Y2, X3, Y3, X4, У4: Integer) —дуга
Ellipse (X1, У1, Х2, У2: Integer) — эллипс с заполнением
FillRect (const Rect: TRect) — прямоугольник с заполнением
LineTo (X, Y : Integer) - линия от указателя до точки с координатами х и у
Poligon (const Points, array of TPoint) - многоугольник с заполнением
PolyLine (const Points array of Tpoint) - незаполненный многоугольник
Rectangle (X1, У1, X2, У2: Integer) - заполненный прямоугольник
RoundRect (X1, Y1, Х2, Y2, X3, Y3: Integer ) - заполненный прямоугольник со скругленными краями
У методов Arc, Ellipse, Rectangle и RoundRect параметры XI и Y1 задают координаты левого верхнего, а параметры X2 и Y2 _ координаты правого нижнего угла. Параметры X3 и Y3, X4 и Y4 определяют координаты начальной и конечной точек дуги.
У методов Polygon и Polyline параметр Points представляет собой массив с координатами вершин многоугольника. У метода Polygon первая и последняя точки соединяются.
Тип Trect определяет прямоугольник и описывается следующим образом
Trect = record
Left, Top, Right, Bottom: Integer;
end;
Тип TPoint определяет точку и описывается следующим образом
Trect = record
X, y : Integer;
end;
Для очистки области рисования необходимо кисть взять цвета фона и заполнить данным цветом клиентскую область т.е.
Brush.Color:=clMenu;
FillRect(ClipRect);
Параметры линий фигур и их заполнение определяют текущие значения свойств пера и кисти поверхности рисования. Цвет и запивка определяется свойством Color объектов кисти и пера. Значение свойства Color представляет 4 байтное шестнадцатеричное число. Младшие три байта задают RGB – интенсивности ( красного, зеленого, синего ), наибольшая интенсивность $FF , старший байт определяет палитру и имеет значение $00.
Белый $00000000 clWhite Черный $00FFFFFF clBlack
Красный $000000FF clRed Желтый $0000FFFF clYellow
Зеленый $0000FF00 clGreen Голубой $00FFFF00 clBlue
Оливковый $00008080 clOlive Серый $00808080 clGray
Форма имеет свойство Canvas, однако, для размещения на форме нескольких изображений определенного размера используют компонент PaintBox из набора System.