Программа, иллюстрирующая работу с графикой в Delphi на примере рисования прямоугольников
Краткое сожержание материала:
Размещено на
Содержание
Введение
Глава 1. Графика в Delphi
1.1 Объекты: Brush,Pen
1.2 Объект Front
1.3 Способы рисования прямоугольников
Глава 2. Программа иллюстрирующая рисования прямоугольников
2.1 Результат работы
2.2 Блок-схемы алгоритма
Заключение
Литература
Приложение
Введение
Данная работа посвящена теме "Программа, иллюстрирующая работу с графикой в Delphi на примере рисования прямоугольников".
Цель данной работы: создание программы, иллюстрирующей работу с графикой в Delphi на примере рисования прямоугольников, при этом необходимо предусмотреть возможность изменения размера и положения прямоугольника, цвет, стиль контура и заливку.
Для решения поставленной цели были определены следующие задачи:
-изучение системы программирования Delphi;
-изучение основных понятий и терминов;
-приобретение практических навыков в создании программы.
Глава 1. Графика в Delphi
Delphi позволяет программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, иллюстрации.
Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойствоcanvas.
Свойство canvas - это объект типаTCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации.
Методы вывода графических примитивов рассматривают свойствоCanvasкак некоторый абстрактный холст, на котором они могут рисовать. Холст состоит из отдельных точек - пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, 0). Координаты возрастают сверху вниз и слева направо. Значения координат правой нижней точки холста зависят от размера холста.
Размер холста можно получить, обратившись к свойствам Heightиwidth области иллюстрации (image) или к свойствам формы: ClientHeightиClientwidth.
Методы класса Tcanvas.
Основные методы, объявленные в классе TCanvas.
Метод |
Объявление / Описание |
|
Arc. procedure Arc(Xl, Yl, Х2, Y2, ХЗ, Y3, Х4, Y4: Integer); |
Рисует дугу окружности или эллипса. (XI,Y1) и (X2,Y2) определяют описанный прямоугольник, (X3,Y3) и (X4,Y4) -- точки, через которые проходят радиусы, отмечающие начало и конец дуги. |
|
Chord, procedure Chord(Xl, Yl, Х2, Y2, ХЗ, Y3, Х4, Y4: Integer); |
Рисует замкнутую фигуру, ограниченную дугой (окружности или эллипса) и хордой. (XI,Y1) и (X2,Y2) определяют описанный прямоугольник. (X3,Y3) и (X4,Y4) -- точки, через которые проходит хорда. |
|
Draw, procedure Draw(X, Y: Integer; Graphic: TGraphic): |
Выводит графическое изображение Graphic в указанную позицию канвы (X, Y -- левый верхний угол). |
|
Ellipse, procedure Ellipse(Xl, Yl, X2, Y2: Integer) |
Рисует окружность или эллипс. (XI, Yl) и (Х2, Y2) определяют описанный прямоугольник. |
|
FillRect, procedure FillRect(constRect: TRect); |
Заполняет указанный прямоугольник канвы, используя текущее значение кисти Brush. |
|
FloodFill, procedure FloodFill(X, Y: Integer: Color: TColor: FillStyle: TFillStyle); |
Закрашивает текущей кистью замкнутую область канвы, определенную цветом Color и начальной точкой закрашивания (X, Y). При FillStyle = fsSurface заполняется область, окрашенная цветом Color, а при FillStyle =fsBorder, заполняется область, окрашенная любыми цветами, не равными Color. |
|
FrameRect, procedure FrameRect(constRect: TRect); |
Рисует на канве текущей кистью прямоугольную рамку толщиной в 1 пиксель без заполнения внутренней части прямоугольника. |
|
LineTo, procedure LineTo(X, Y: Integer); |
Рисует на канве прямую линию, начинающуюся с текущей позиции пера и кончающуюся указанной точкой (исключая ее). |
|
MoveTo, procedure MoveTo(X, Y: Integer); |
Изменяет текущую позицию пера на заданную, ничего не рисуя. |
|
Pie, procedure Pie(Xl, Yl, Х2, Y2, ХЗ, Y3, Х4, Y4: Longint); |
Рисует сектор окружности или эллипса. (XI,Y1) и (X2,Y2) определяют описанный прямоугольник. (X3,Y3) и (X4,Y4) -- точки, через которые проходят радиксы, ограничивающие сектор. |
|
Polygon, procedure Polygon(Points: array of TPoint); |
Рисует замкнутую фигуру с кусочно-линейной границей. |
|
Polvline, procedure Polyline(Points: array of TPoint); |
Рисуеткусочно-линейнуюкривую. |
|
Rectangle, procedure Rectangle(Xl, Yl, X2, Y2: Integer); |
Рисует прямоугольник, заданный (X1, Y1) и (Х2, Y2). |
|
RoundRect, procedure RoundRect(Xl, Yl, X2, Y2, ХЗ, Y3: Integer); |
Рисует прямоугольник со скругленными углами: (X1, Y1) и (Х2, Y2) -- прямоугольник, ХЗ и Y3 -- ширина и высота эллипса скругления. |
|
StretchDraw, procedure StretchDraw (constRect: TRect; Graphiс: TGraphic ); |
Рисует графическое изображение Graphic в указанную прямоугольную область канвы Rect, подгоняя размер изображения под заданную область. |
|
TextOut, procedure TextOut(X, Y: Integer; const Text: string); |
Пишет указанную строку текста Text на канве, начиная с указанной позиции. |
|
TextRect, procedure TextRect(Rect: TRect; X, Y: Integer;const Text: string); |
Пишет указанную строку текста Text на канве, начиная с указанной позиции и усекая текст, выходящий за пределы указанной прямоугольной области Rect. |
Свойства.
Список свойств, определенных или переопределенных в TCanvas:
Свойство |
Объявление / Описание |
|
Brush propertyBrush: TBrush |
Определяет цвет и стиль заполнения замкнутых фигур и фона. |
|
ClipRect propertvClipRect: TRect; |
Определяет доступную область рисования на канве и область, подлежащую перерисовке при событии OnPaint. Свойство только для чтения. |
|
CopyMode property CopyMode: TCopyMode; |
Определяет режим копирования графического изображения на канву. |
|
Font property Font: TFont |
Определяет атрибуты шрифта, которым выводится текст. |
|
Pen propertyPen: TPen |
Определяет свойства пера, рисующего линии и фигуры. |
|
PenPos propertyPenPos: TPoint |
Определяет текущую позицию пера. |
|
Pixels property Pixels[X. Y: Integer]: TColor: |
Определяетцветапикселов. |
События
Событие |
Описание |
|
OnChange |
Событие после изменения изображения. |