Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

отчет 1!!!

.docx
Скачиваний:
47
Добавлен:
18.11.2015
Размер:
56.69 Кб
Скачать

Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Факультет информационных технологий

Кафедра информатики

ОТЧЕТ

по лабораторной работе № 1

по дисциплине «Программирование»

Canvas

Руководитель

преподаватель

___________ Е.А. Мучкаева

« »______________2015г.

Исполнитель

студент группы 14По(ба)Ин

______________А.М.Зобова

« »______________2015г.

Оренбург 2015

Лабораторная работа №1

Сanvas.

Канва представляет собой область компонента, на которой можно рисовать или отображать готовые изображения. Она содержит свойства и методы, существенно упрощающие графику Delphi. Все сложные взаимодействия с системой спрятаны для пользователя, так что рисовать в Delphi может человек, совершенно не искушенный в машинной графике.

Канва обеспечивает пространство для создания хранения и модификации графических объектов. Является основной графической подсистемой Delphi.

Канва обеспечивает:

  1. Загрузку и хранение графических изображений;

  2. Создание новых и изменение хранимых изображений с помощью пера, кисти, шрифта;

  3. Рисование и закраску различных фигур, линий, текстов;

  4. Комбинирование различных изображений.

Основные методы Canvas:

Название

Что делает

Arc

Рисует дугу. Параметры x1, y1, x2 и y2 задают эллипс, частью которого является дуга, параметры x3, y3, x4 и y4 -начальную и конечную точку дуги. Цвет дуги определяет свойство Pen.Color.

Сhord

Рисует, заполняет замкнутую фигуру, ограниченную дугой окружности или эллипса. Фигура заполняется текстовым значением Brush.

Drow

Рисует графические изображения в указанную позицию конвы.

DrowFocusRest

Рисует изображение прямоугольника в виде использования для отображения рамки фокуса операцией XOR( позволяет удалить изображение прямоугольника, его повторной прорисовкой.)

Ellipse

Рисует эллипс (окружность). Параметры x1, y1 указывают координаты верхней левой точки, а x2, y2 координаты нижней правой точки прямоугольника, в который вписана окружность. Цвет границы прямоугольника определяет свойство Pen.Color , цвет закраски области ― свойство Brush.Color .

FillRect

Заполняет указанный прямоуголник канвы, используя текущие значения Brush.

FloodFill

Закрашивает текущей кистью Brush замкнутую область канвы определенным цветом.

FrameRect

Рисует контур прямоугольника. Параметр aRect(тип TRect) определяет положение и размер прямоугольника. Цвет контура определяет свойство Brush.Color .

LineTo

Рисует на канве прямую линию начиная с текущей позиции пера Pentpos и кончающихся в точке X,Y.

MoveTo

Изменяет текущую позицию пера,на заданной точке ,это эквивалентно непосредственной установке среды Pentpos, при перемещении пера метки MoveTo,ничего не рисуется.

Pie

Рисует сектор. Параметры x1, y1, x2 и y2 задают эллипс, частью которого является сектор, параметры x3, y3, x4 и y4 ―границы сектора. Цвет границы сектора определяет свойство Pen.Color , цвет закраски сектора ― свойство Brush.Color .

Polygon

Рисует ломаную линию. Points ― массив типа TPoint. Каждый элемент массива представляет собой запись, поля x и y которые содержат координаты точки перегиба ломаной. n ― количество звеньев ломаной. Метод Polyline вычерчивает ломанную линию, последовательно соединяя прямые точки, координаты которых находятся в массиве: перевую со второй, вторую с третьей, третью с четвертой и т.д.

Основные свойства Canvas:

Brush

Определяет цвет и стиль заполнения фона окна. Атрибуты можно изменять, используя свойства Color и Style.

Color

Цвет текста объекта, цвет фона, цвет объекта.

Style

Определяет шаблон, которым кисть заполняет фон объекта.

Pen

Определяет свойства пера, используя при рисовании линии и прямой, на канве.

Практическая часть.

1. Давайте попробуем нарисовать пером график синуса из предыдущего примера. В данном случае обработчик события формы OnPaint может иметь вид:

procedure TForm1.FormPaint(Sender: TObject);

var

X,Y: real; // координаты функции

PX,PY: longint; // координаты пикселей

begin

Color := clWhite;

for PX := 0 to ClientWidth do

begin

{X — аргумент графика,

соответствующий пикселю с координатой РХ}

X := PX*4*Pi/ClientWidth;

Y:=Sin(X);

{PY — координата пикселя,

соответствующая координате Y}

PY:=trunc(ClientHeight - (Y+1)*ClientHeight/2);

{Устанавливается черный цвет выбранного

пикселя (О яркости)}

Canvas.Pixels [PX, PY] := 0;

end;end;end.

2. Давайте попробуем нарисовать по пикселям график синусоиды на канве формы. Для этого в обработчик события формы OnPaint (прорисовка) можно вставить следующий код:

procedure TForm1.FormPaint(Sender: TObject);

var

X,Y: real; // координаты функции

PX,PY: longint; // координаты пикселей

begin

Color:=clWhite;

Canvas.MoveTo(0,ClientHeight div 2);

for PX:=0 to ClientWidth do

begin

{X - аргумент графика,

соответствующий пикселю с координатой РХ}

X := PX*4*Pi/ClientWidth;

Y := Sin(X);

{PY — координата пикселя,

соответствующая координате Y}

PY := trunc(ClientHeight - (Y+1)*ClientHeight/2);

{Проводится линия на графике}

Canvas.LineTo(PX,PY);

end;

end;

end.

3.Нарисовать ель.

procedure TForm1.FormPaint(Sender: TObject);

begin

With Form1.Canvas do

begin

Pen.Width:=1;

Pen.Color:=clGreen;

Brush.Color:=clGreen;

PolyGon([Point(350,90),Point(330,90),Point(400,160),Point(380,160),Point(470,250),Point(130,250),Point(220,160),Point(200,160),Point(270,90),Point(250,90), Point(300,40)]);

Pen.Color:= RGBToColor(128,64,0);

Brush.Color:=RGBToColor(128,64,0); PolyGon([Point(350,251),Point(350,301),Point(250,301),Point(250,251)]);

end;end;end.