Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lazarus_графика.ppt
Скачиваний:
41
Добавлен:
27.04.2021
Размер:
496.13 Кб
Скачать

Рисовать на поверхности формы можно процедурой TForm1.FormPaint

procedure TForm1.FormPaint(Sender: TObject);

Для сокращения записи длинных свойств и методов рисования используется команда with:

with Form1.Canvas do begin

//установить характеристики кисти

Bruch.Color := clRed; Bruch.Style := bsDiagrCross;

//нарисовать заштрихованный в клеточку прямоугольник Rectangle(10,10,100,100) ;

end;

Вывод текста

Для вывода текста на поверхность графического объекта используется метод TextOut.

Инструкция вызова метода TextOut в общем виде выглядит следующим образом:

Объект.Canvas.TextOut(x, у, Текст)

где:

объект — имя объекта, на поверхность которого выводится текст; х, у — координаты точки графической поверхности, от которой выполняется вывод текста (рис. 10.3);

Текст — переменная или константа символьного типа, значение которой определяет выводимый методом текст.

Свойства объекта TFont

Шрифт определяется значением свойства Font объекта canvas.

Свойство Font представляет собой объект типа

TFont.

Свойство

Определяет

Name

Используемый шрифт. В качестве значения

следует использовать название шрифта,

 

например Arial

 

Размер шрифта в пунктах (points). Пункт— это единица

Size

измерения размера шрифта, используемая в полиграфии.

 

Один пункт равен 1/72 дюйма

 

Стиль начертания символов. Константы:

 

fsBold (полужирный), fsltalic (курсив), f sUnderline

Style

(подчеркнутый), f sStrikeOut (перечеркнутый).

 

Можно комбинировать необходимые стили. Например,

 

Объект. Canvas . Font . Style : = [fsBold, fs Italic]

Color

Цвет символов. В качестве значения можно использовать

константу типа Tcolor

 

Область вывода текста закрашивается текущим цветом кисти. Поэтому перед выводом текста свойству Brush.Color нужно присвоить значение bsClear или задать цвет кисти, совпадающий с цветом поверхности, на которую выводится текст.

Класс TColor = класс цвета точки TColor

В тексте программы цвет может быть выбран с помощью компонента TColorDialog , вызываемого методом Execute . Метод Execute компонента TColorDialog отображает диалоговое окно Цвет, используемое для выбора цвета.

if ColorDialog1.Execute then begin Color:= ColorDialog1.Color;

Для задания цвета можно использовать функцию RGB

Color:= RGB(50, 200, 50); // смешение трех цветов Red, Green, Blue

//Доля каждого цвета может меняться от 0 до 255

Следующий фрагмент программы демонстрирует использование функции Textout для вывода текста на поверхность формы:

with Form1.Canvas do begin

// установить характеристики шрифта

Font.Name := 'Tahoma'; Font.Size := 20;

Font.Style := [fsltalic, fsBold] ;

Brush.Style := bsClear; // область вывода текста не закрашивается

TextOut(0, 10, ‘Lazarus'); end;

После вывода текста методом Textout указатель вывода (карандаш) перемещается в правый верхний угол области вывода текста.

Методы вычерчивания графических примитивов

Любая картинка, чертеж, схема могут рассматриваться как совокупность графических примитивов: точек, линий, окружностей, дуг и др. Таким образом, для того чтобы на экране появилась нужная картинка, программа должна обеспечить вычерчивание (вывод) графических примитивов, составляющих эту картинку.

Вычерчивание графических примитивов на поверхности компонента (формы или области вывода иллюстрации) осуществляется применением соответствующих методов к свойству Canvas этого компонента.

Точка

Поверхности, на которую программа может осуществлять вывод графики, соответствует объект Canvas. Свойство

Pixels, представляющее собой двумерный массив типа TColor, содержит информацию о цвете каждой точки графической поверхности. Используя свойство Pixels, можно задать требуемый цвет для любой точки графической поверхности, т. е. "нарисовать" точку. Например, инструкция

Form1.Canvas.Pixels[10,10]:=clRed

окрашивает точку поверхности формы в красный цвет.

Размерность массива Pixels определяется размером графической поверхности.

Свойство Pixels можно использовать для построения графиков.

Линия

Вычерчивание прямой линии осуществляет метод LinеТо, инструкция вызова которого в общем виде выглядит следующим образом:

Компонент.Canvas.LineTo(x,у)

Метод LinеТо вычерчивает прямую линию от текущей позиции карандаша в точку с координатами, указанными при вызове метода.

Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты нового положения карандаша. Вид линии (цвет, толщина и стиль) определяется значениями свойств объекта Pen графической поверхности, на которой вычерчивается линия.

Прямоугольник

Прямоугольник вычерчивается методом Rectangle, инструкция вызова которого в общем виде выглядит следующим образом:

Объект.Canvas.Rectangle(x1, y1,x2, y2)

где:

объект — имя объекта (компонента), на поверхности которого выполняется вычерчивание;

x1, y1 и х2, у2 — координаты левого верхнего и правого нижнего углов прямоугольника.

Соседние файлы в предмете Информатика