Программа, иллюстрирующая работу с графикой в Delphi на примере рисования прямоугольников - Программирование, компьютеры и кибернетика курсовая работа

Программа, иллюстрирующая работу с графикой в Delphi на примере рисования прямоугольников - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Программа, иллюстрирующая работу с графикой в Delphi на примере рисования прямоугольников

Методы вывода графических примитивов в программе Delphi. Основные методы, объявленные в классе TCanvas. Использование объектов Brush, Pen, Front. Примеры применения функции Round Rect. Отличия способов рисования прямоугольника Polyline и Polygon.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

1.3 Способы рисования прямоугольников
Глава 2. Программа иллюстрирующая рисования прямоугольников
Данная работа посвящена теме "Программа, иллюстрирующая работу с графикой в Delphi на примере рисования прямоугольников".
Цель данной работы: создание программы, иллюстрирующей работу с графикой в Delphi на примере рисования прямоугольников, при этом необходимо предусмотреть возможность изменения размера и положения прямоугольника, цвет, стиль контура и заливку.
Для решения поставленной цели были определены следующие задачи:
-изучение системы программирования Delphi;
-изучение основных понятий и терминов;
-приобретение практических навыков в создании программы.
Delphi позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации.
Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойствоcanvas.
Свойство canvas - это объект типаTCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации.
Методы вывода графических примитивов рассматривают свойствоCanvasкак некоторый абстрактный холст, на котором они могут рисовать. Холст состоит из отдельных точек - пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, 0). Координаты возрастают сверху вниз и слева направо. Значения координат правой нижней точки холста зависят от размера холста.
Размер холста можно получить, обратившись к свойствам Heightиwidth области иллюстрации (image) или к свойствам формы: ClientHeightиClientwidth.
Основные методы, объявленные в классе TCanvas.
procedure Arc(Xl, Yl, Х2, Y2, ХЗ, Y3, Х4, Y4: Integer);
Рисует дугу окружности или эллипса. (XI,Y1) и (X2,Y2) определяют описанный прямоугольник, (X3,Y3) и (X4,Y4) -- точки, через которые проходят радиусы, отмечающие начало и конец дуги.
procedure Chord(Xl, Yl, Х2, Y2, ХЗ, Y3, Х4, Y4: Integer);
Рисует замкнутую фигуру, ограниченную дугой (окружности или эллипса) и хордой. (XI,Y1) и (X2,Y2) определяют описанный прямоугольник. (X3,Y3) и (X4,Y4) -- точки, через которые проходит хорда.
procedure Draw(X, Y: Integer; Graphic: TGraphic):
Выводит графическое изображение Graphic в указанную позицию канвы (X, Y -- левый верхний угол).
procedure Ellipse(Xl, Yl, X2, Y2: Integer)
Рисует окружность или эллипс. (XI, Yl) и (Х2, Y2) определяют описанный прямоугольник.
procedure FillRect(constRect: TRect);
Заполняет указанный прямоугольник канвы, используя текущее значение кисти Brush.
procedure FloodFill(X, Y: Integer: Color: TColor: FillStyle: TFillStyle);
Закрашивает текущей кистью замкнутую область канвы, определенную цветом Color и начальной точкой закрашивания (X, Y). При FillStyle = fsSurface заполняется область, окрашенная цветом Color, а при FillStyle =fsBorder, заполняется область, окрашенная любыми цветами, не равными Color.
procedure FrameRect(constRect: TRect);
Рисует на канве текущей кистью прямоугольную рамку толщиной в 1 пиксель без заполнения внутренней части прямоугольника.
Рисует на канве прямую линию, начинающуюся с текущей позиции пера и кончающуюся указанной точкой (исключая ее).
Изменяет текущую позицию пера на заданную, ничего не рисуя.
procedure Pie(Xl, Yl, Х2, Y2, ХЗ, Y3, Х4, Y4: Longint);
Рисует сектор окружности или эллипса. (XI,Y1) и (X2,Y2) определяют описанный прямоугольник. (X3,Y3) и (X4,Y4) -- точки, через которые проходят радиксы, ограничивающие сектор.
procedure Polygon(Points: array of TPoint);
Рисует замкнутую фигуру с кусочно-линейной границей.
procedure Polyline(Points: array of TPoint);
procedure Rectangle(Xl, Yl, X2, Y2: Integer);
Рисует прямоугольник, заданный (X1, Y1) и (Х2, Y2).
procedure RoundRect(Xl, Yl, X2, Y2, ХЗ, Y3: Integer);
Рисует прямоугольник со скругленными углами: (X1, Y1) и (Х2, Y2) -- прямоугольник, ХЗ и Y3 -- ширина и высота эллипса скругления.
procedure StretchDraw (constRect: TRect; Graphiс: TGraphic );
Рисует графическое изображение Graphic в указанную прямоугольную область канвы Rect, подгоняя размер изображения под заданную область.
procedure TextOut(X, Y: Integer; const Text: string);
Пишет указанную строку текста Text на канве, начиная с указанной позиции.
TextRect, procedure TextRect(Rect: TRect; X, Y: Integer;const Text: string);
Пишет указанную строку текста Text на канве, начиная с указанной позиции и усекая текст, выходящий за пределы указанной прямоугольной области Rect.
Список свойств, определенных или переопределенных в TCanvas:
Определяет цвет и стиль заполнения замкнутых фигур и фона.
Определяет доступную область рисования на канве и область, подлежащую перерисовке при событии OnPaint. Свойство только для чтения.
Определяет режим копирования графического изображения на канву.
Определяет атрибуты шрифта, которым выводится текст.
Определяет свойства пера, рисующего линии и фигуры.
property Pixels[X. Y: Integer]: TColor:
Событие после изменения изображения.
Событие перед изменением изображения.
Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойстваРеn(карандаш) иBrush(кисть), которые представляют собой объекты типа треп иTBrush, соответственно. Значения свойств этих объектов определяют вид выводимых графических элементов.
Карандаш используется для вычерчивания точек, линий, контуров геометрических фигур: прямоугольников, окружностей, эллипсов, дуг и др. Вид линии, которую оставляет карандаш на поверхности холста, определяют свойства объекта треп, которые перечислены в таблице:
СвойствоColorзадает цвет линии, вычерчиваемой карандашом.
Значение свойства Color определяет цвет линии:
Свойствоstyleопределяет вид (стиль) линии, которая может быть непрерывной или прерывистой, состоящей из штрихов различной длины. Толщина пунктирной линии не может быть больше 1. Если значение свойстваPen.widthбольше 1, то пунктирная линия будет выведена как сплошная.
Значение свойства Реn.туре определяет вид линии:
Пунктирная линия, чередование длинного и короткого штрихов
Пунктирная линия, чередование одного длинного и двух коротких штрихов
Линия не отображается (используется, если не надо изображать границу области, например, прямоугольника)
СвойствоModeопределяет, как будет формироваться цвет точек линии в зависимости от цвета точек холста, через которые эта линия прочерчивается. По умолчанию вся линия вычерчивается цветом, определяемым значением свойстваPen.Color.
Кисть (canvas.Brush) используется методами, обеспечивающими вычерчивание замкнутых областей, например геометрических фигур, для заливки (закрашивания) этих областей.
Кисть, как объект, обладает двумя свойствами:
Цвет закрашивания замкнутой области
Область внутри контура может быть закрашена или заштрихована. В первом случае область полностью перекрывает фон, а во втором - сквозь незаштрихованные участки области будет виден фон.
В качестве значения свойстваColorможно использовать любую из констант типаTColorКонстанты, позволяющие задать стиль заполнения области, приведены в таблице:
Диагональная штриховка с наклоном линий вперед
Диагональная штриховка с наклоном линий назад
Горизонтально-вертикальная штриховка, в клетку
Окно программы Стили заполнения областей
Определяет множество характеристик, описывающих шрифт, используемый при отображении текстов: высоту шрифта, его имя, атрибуты (полужирный, курсив) и т.д.
Характеризует высоту шрифта в пикселах.
Стиль шрифта: полужирный, курсив, подчеркнутый, перечеркнутый.
1.3 Способы рисования прямоугольников
Рисует на канве текущим пером прямоуго льник и закрашивает его текущей кистью
procedure Rectangle(XI, Yl, Х 2, Y2: Integer);
Метод Rectangle рисует на канве текущим пером Реп прямоугольник,
верхний левый угол которого имеет координаты (XI, Y1), а нижний правый -- (Х2, Y2). Прямоугольник закрашивается текущей кистью Brush.
Рисование прямоугольника без рамки можно осуществить методом Fill-
Rect. Прямоугольник со скругленными углами рисуется методом RoundRect.
Прямоугольник без внутренней закраски рисуется методом FrameRect.
Imagel . Canvas . Rectangle (10,10,210,110);
Рисует на канве текущим пером замкнуту ю фигуру (многоугольник) по за данному множеству угловых точек, замыкая первую и последнюю т очки и за крашивая внутреннюю область фигуры текущей кистью
procedure Polygon(Points: array of TPoint);
Метод Polygon рисует на канве замкнутую фигуру (полигон,многоугольник) по множеству угловых точек, заданному массивом Points. Первая из указанных точек соединяется прямой с последней. Этим метод Polygonотличается от метода Polyline, который не замыкает конечные точки. Рисование проводится текущим пером Реп. Внутренняя область фигуры закрашиваетсятекущей кистью Brush.
Метод позволяет рисовать фигуру по точкам, хранящимся в массиве элементов типа TPoint. Если желательно использовать для рисования только часть точек массива, это можно сделать с помощью функции Slice. Если надонарисовать полигон всего по нескольким точкам, то передавать их в методPolygonудобно с помощью функции Point.
Forml.Canvas.Polygon([Point(10,10),Point(30,10),
рисует на канве формы четырехугольник по точкам, заданным функциями
Forml . Canvas . Polygon ( PointArray );
рисует на канве формы многоугольник по точкам, хранящимся в массиве
PointArray, который может быть объявлен, например, следующим образом: графический программа delphi прямоугольник
varPointArray:array[1..100] of TPoint;
Form1 .Canvas.Polygon(Slice(PointArray, 10));
рисует на канве формы многоугольник по первым 10 точкам, хранящимся в массиве PointArrayиз предыдущего примера.
Ри сует на канве текущим пером кус оч но-линейную кривую по заданному множествуточек
procedure Polyline(Points: array of TPoint);
Метод Polyline рисует на канве кусочно-линейную кривую по множеству точек, заданному массивом Points. Отличие метод Polylineот метода Polygon заключается в том, что метод Polygon замыкает конечные точки, а метод Polyline-- нет. Рисование проводится текущим пером Реп. Метод не изменяет текущей позиции PenPosпера Реп.
Метод позволяет рисовать кусочно-линейный график функции, хранящийся в массиве элементов типа TPoint. Если желательно использовать для рисования только часть точек массива, это можно сделать с помощью функции Slice. Если надо нарисовать кривую всего по нескольким точкам, то передавать их в метод Polylineудобно с помощью функции Point.
Form1 .Canvas. Polyline([Point(10,10),Point(30,10),
рисует кусочно-линейную кривую по четырем точкам, заданным функциями
2. varPointArray:array[0..100] of TPoint;
procedure TForm1 .ButtonlClick(Sender: TObject);
y:=trunc((Image1 .ClientHeight div 2)*
(1 + sin (4*Pi*x /Image 1 .ClientWidth) ) ) ;
procedure TForml.Button2Click(Sender: TObject);
Imagel.Canvas.PolyLine(PointArray);
procedure TForml.Button3Click(Sender: TObject);
Imagel.Canvas.PolyLine(Slice(PointArray,25));
Первая процедура ButtonlClickзаполняет массив PointArrayточками, описывающими график функции sin(x) на протяжении двух периодов (4р). Вторая процедура Button2Click по точкам из этого массива рисует график на канве компонента Imagel. Третья процедура Button3Click использует для рисования графика первые 25 точек этого массива.
Рисует на канве прямоугольную рамку со скругленными углами
procedureRoundRect(XI, Yl, Х 2, Y2, ХЗ , Y3: Integer);
Метод RoundRectрисует на канве прямоугольную рамку со скругленными
углами, используя текущие установки пера Pen и заполняя площадь фигурытекущей кистью Brush. Рамка определяется прямоугольником с координатами углов (XI,Y1) и (X2,Y2). Углы скругляются с помощьюэллипсов с шириной ХЗ и высотой Y3.
Если задать ширину эллипса ХЗ ? Х2-XI, то верхняя и нижняя границы рамки окажутся целиком скругленными (без прямолинейной части). Если Y3 ? Y2 - Y1, то же самое произойдет с левой и правой границами рамки. Еслиже оба измерения эллипса не меньше размеров рамки, то будет рисоватьсяпросто эллипс. Но, конечно, для рисования эллипса лучше использовать методEllipse. Если один из размеров эллипса задать нулевым, то будет рисоватьсяпрямоугольная рамка. Но, конечно, для такой рамки лучше использовать метод Rectangle.
Следующие операторы вызывают изображение, показанное на рис.:
Рис. Примеры применения функции Round Rect
Глава 2. Программа иллюстрирующая рисования прямоугольников
Создадим простое приложение, иллюстрирующее работу с графикой в Delphi на примере рисования прямоугольников.
Размещаю на форму Компонент TPanel (Panel1) , для того чтобы расположить на необходимые кнопки и поля ввода координат, и отделить их от поля на котором буду рисовать.
Далее на Panel1 помещаю четыре компонента Edit1, Edit2, Edit3 и Edit4, четыре компонента Label1, Label2, Label3, Label4 соответственно, ат акже три кнопки TButton (Button1 - "Наисовать", Button2 - "Стереть" и Button3 - "Выбрать цвет") иTColorDialog(ColorDialog1) (диалог для выбора цвета). А также кидаю на форму компонент TImage (Image1) на котором будем рисовать.
Компоненты Edit1, Edit2, Edit3 и Edit4 будут служить полем для ввода координат. В окне ObjectInspector удалим значения свойств Caption, для ввода нужных нам значений. Для компонентов Label1, Label2, Label3, Label4 изменим значения свойств на x1,y1,x2,y2. Кнопки Button1,Button2и Button3 переименуем как "Нарисовать объект" , "Стереть" и "Выбратьцвета".
Приступим к записи процедур для нашей программы. Для этого нужно дважды щелкнуть левой кнопкой мыши по Button1 (Нарисовать) и у нас откроется окно Code, для ввода процедур. В нашем случае, в этом окне уже будет заготовка процедуры:
procedure TForm1.Button1Click(Sender: TObject);
varX1,Y1,X2,Y2: integer; {объявление переменных}
X1:=StrToInt(Edit1.Text); {преобразование текстовой строки в целое число}
Image1.Canvas.Pen.Color:=RectColor;
Image1.Canvas.Brush.Color:=RectColor;
Image1.Canvas.Rectangle(X1,Y1,X2,Y2);
Щелкнем дважды левой кнопкой мыши и по Button2 (Стереть). В окне Code, для процедуры введем следующее:
procedure TForm1.Button2Click(Sender: TObject);
Image1.Canvas.Brush.Color:=clBtnFace;
Image1.Canvas.Rectangle(X1,Y1,X2,Y2);
Щелкнем дважды левой кнопкой мыши и по Button3 (Выбрать цвет). В окне Code, для процедуры введем следующее:
procedure TForm1.Button3Click(Sender: TObject);
Выполняем программу (F9), задавая различные значения для углов в указанных ячейках (X1,Y1,X2,Y2).
В своей работе я продемонстрировала работу программы, иллюстрирующую работу с графикой в Delphi на примере рисования прямоугольников. Показала, как и куда задаются координаты. В связи с этим можно отметить, что работать с графическими элементами в Delphi достаточно просто. Основные конструкции языка четко выделяются в программе, что способствует хорошему восприятию написанного кода. Графический интерфейс Delphi отлично продуман, среда разработки предоставляет доступ только к тем участкам кода, с которыми необходимо работать, скрывая основную часть программы, которая создается автоматически самой разработкой.
В результате выполнения данной курсовой работы, я убедилася в широких возможностях Delphi 7.
1. Архангельский А.Я. - Delhi 7. Справочное пособие - М.: OOO"Бином-Пресс", 2003 г. - 1024 с.;
2. Пестриков В. М., Маслобоев А. Н. -Delhi на примерах. БХВ-Петербург, 2005. - 496 с.;
3. Лекционный курс. Графика. Рисование стандартных фигур.
4. И. Ю. Баженова - Delhi 7. Самоучитель программиста - Москва 2003.;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TForm1.Button1Click(Sender: TObject);
Image1.Canvas.Pen.Color:=RectColor;
Image1.Canvas.Brush.Color:=RectColor;
Image1.Canvas.Rectangle(X1,Y1,X2,Y2);
procedure TForm1.Button2Click(Sender: TObject);
Image1.Canvas.Brush.Color:=clBtnFace;
Image1.Canvas.Rectangle(X1,Y1,X2,Y2);
procedure TForm1.Button3Click(Sender: TObject);
Область применения компьютерной графики. Работа с графикой в Delphi, обращение к свойству Canvas-компонентов. Холст для рисования Canvas - перевернутая система координат. Свойства и методы приложения. Простое приложение, иллюстрирующее работу с графикой. курсовая работа [968,7 K], добавлен 23.03.2015
Создание приложения для просмотра графических файлов. Компоненты, объекты и операторы для отображения графической информации в библиотеке Delphi. Канва как область компонента для рисования и отображения изображений. Рисование пером, закрашивание кистью. методичка [98,1 K], добавлен 19.06.2011
Характеристика графических возможностей среды программирования Lazarus. Анализ свойств Canvas, Pen, Brush. Сущность методов рисования эллипса и прямоугольника. Возможности компонентов Image и PaintBox. Реализации программы "Графический редактор". курсовая работа [2,8 M], добавлен 30.03.2015
Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet. дипломная работа [3,6 M], добавлен 13.07.2011
Разработка программы с целью создания изображений графических примитивов на поверхности формы. Передача координат и плоскости рисования в функцию алгоритма разложения прямой линии. Расчет параметров для построения круга, особенности прорисовки эллипса. контрольная работа [220,7 K], добавлен 27.04.2012
Интегрированная среда программирования C++ Builder 6. Методы вычерчивания графических примитивов. Основные свойства инструментов рисования. Разработка рисунка паутины с центром в точке с произвольным числом лучей. Алгоритм программы в виде блок-схемы. курсовая работа [842,5 K], добавлен 13.10.2017
Предмет объектно-ориентированного программирования и особенности его применения в средах Паскаль, Ада, С++ и Delphi. Интегрированная среда разработки Delphi: общее описание и назначение основных команд меню. Процедуры и функции программы Delphi. курсовая работа [40,8 K], добавлен 15.07.2009
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Программа, иллюстрирующая работу с графикой в Delphi на примере рисования прямоугольников курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Растворы для внутреннего применения
Контрольная Работа По Обществознанию 9 2022
Доходность Финансовых Операций Реферат
Реферат по теме Специальные парламентские процедуры
Реферат: Сенат: эволюция правового статуса и компетенция
Отзыв О Произведении Сочинение Каминский 3
Реферат по теме Політична історія Київської Русі
Курсовая работа по теме Художественный идеал средневековой Византии
Реферат: Психические познавательные процессы
Реферат по теме Управление общественными отношениями
Курсовая работа по теме Политическая культура провинциального студенчества
Контрольная работа по теме Расчет отклонения напряжения на зажимах наиболее удаленных от источника нагрузки. Доза Фликера
Реферат по теме Клиентоориентированный подход в отрасли HORECA
Реферат по теме История изобретения и развития электродвигателя
Вывод В Сочинении Рассуждении
Реферат по теме Роль кочевников в истории Древней Месопотамии по данным первоисточников
Дипломная работа по теме Человеческий фактор в управлении
Реферат На Тему Чорнобильська Катастрофа І Її Наслідки
Реферат: Нотные редакторы. Скачать бесплатно и без регистрации
Реферат: Plate Tectonics Essay Research Paper Plate tectonics
Гемоцианин - Биология и естествознание реферат
Природодослідницька діяльність В.О. Обручева - География и экономическая география курсовая работа
Возникновение методологии юридической науки и этапы ее развития - Государство и право курсовая работа


Report Page