отчет 1!!!
.docxМинистерство образования и науки Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет информационных технологий
Кафедра информатики
ОТЧЕТ
по лабораторной работе № 1
по дисциплине «Программирование»
Canvas
Руководитель
преподаватель
___________ Е.А. Мучкаева
« »______________2015г.
Исполнитель
студент группы 14По(ба)Ин
______________А.М.Зобова
« »______________2015г.
Оренбург 2015
Лабораторная работа №1
Сanvas.
Канва представляет собой область компонента, на которой можно рисовать или отображать готовые изображения. Она содержит свойства и методы, существенно упрощающие графику Delphi. Все сложные взаимодействия с системой спрятаны для пользователя, так что рисовать в Delphi может человек, совершенно не искушенный в машинной графике.
Канва обеспечивает пространство для создания хранения и модификации графических объектов. Является основной графической подсистемой Delphi.
Канва обеспечивает:
-
Загрузку и хранение графических изображений;
-
Создание новых и изменение хранимых изображений с помощью пера, кисти, шрифта;
-
Рисование и закраску различных фигур, линий, текстов;
-
Комбинирование различных изображений.
Основные методы 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.