Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание Информатика и программирование.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.62 Mб
Скачать

Свойство Canvas и класс tCanvas.

Многие объекты имеют свойство Canvas (холст, канва), которое используется для рисования различных линий: эллипсов, прямоугольников и т.п. - на поверхности соответствующего объекта, для задания свойств фона и для вывода текста. Свойство Canvas относится к классу TCanvas, поэтому нужно в справочной системе Делфи рассмотреть (кратко) этот класс.

Основые методы класса TCanvas:

  • procedure MoveTo(X, Y: Integer); - перо ставится на точку с коорд. X, Y (необходимо перед началом рисования некоторых линий, например, отрезка прямой - см LineTo)

  • procedure LineTo(X, Y: Integer); - проводится отрезок прямой в точку с коорд. X, Y (см MoveTo)

  • procedure Ellipse(X1, Y1, X2, Y2: Integer); overload; Эллипс. X1, Y1, X2, Y2 - координаты левого верхнего и правого нижнего углов описанного прямоугольника. или:  procedure Ellipse(const Rect: TRect); overload; Rect - прямоугольник (описанный). overload - перегрузка метода, т е метод может использоваться с любым из этих 2-х вариантов параметров.

  • procedure FillRect(const Rect: TRect); - заполняет (заливает фоном) прямоугольник Rect. Свойства фона нужно задать, используя Canvas.Brush (см свойства, Brush)

  • procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); - дуга эллипса.

  • procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle); - заливка замкнутой фигуры type TFillStyle = (fsSurface, fsBorder); - если FillStyle= fsSurface, то Color - цвет заливаемой фигуры, если FillStyle= fsBorder, то Color - цвет границы.

  • procedure PolyBezier(const Points: array of TPoint); - нарисовать сплайн-аппроксимацию, проходящую через точки, заданные массивом Points.

  • procedure Rectangle(X1, Y1, X2, Y2: Integer); overload; - параметры определяют прямоугольник (см Ellipse) procedure Rectangle(const Rect: TRect); overload;

  • procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer); - прямоугольник, углы скруглены.

  • procedure TextOut(X, Y: Integer; const Text: string); - выводит текст. X, Y - коорд верхнего левого угла прямоугольника, охватывающего текст.

Для настройки параметров линии, используемой для рисования этих фигур требуется св-во Canvas.Pen. Рассмотрим основные св-ва класса TPen:

  • property Color: TColor;

  • property Style: TPenStyle; type TPenStyle = (psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear); - сплошная, пунктир и т д.

  • property Width: Integer; - толщина линии.

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

  • property Brush: TBrush; - (кисть). - Определяет цвет и тип заполнения для заполнения замкнутых фигур . Далее - см свойства класса TBrush.

  • property Font: TFont; - задает свойства шрифта, используемого методом TextOut (см выше).

  • property Pen: TPen; - "перо", которым пользуются методы класса TCanvas для рисования линий. Позволяет задать свойства линий. Класс TPen описан выше.

  • property Pixels[X, Y: Integer]: TColor; - Используя это св-во, Вы можете задать цвет каждого пиксела (пиксел задается координатами X, Y, начало отсчета - верхний левый угол владельца).