«Отображение графической информации в Delphi» План темы: 1.С С пппп оооо сссс оооо бббб ыыыы в в в в ыыыы вввв оооо дддд аааа г г г г рррр аааа фффф ииии чччч ееее сссс кккк оооо йййй ииии нннн фффф оооо рррр мммм аааа цццц ииии ииии в в в в D D D D eeee llll pppp hhhh iiii О О тттт оооо бббб рррр аааа жжжж ееее нннн ииии ееее к к к к аааа рррр тттт ииии нннн оооо кккк О О тттт оооо бббб рррр аааа жжжж ееее нннн ииии ееее г г г г ееее оооо мммм ееее тттт рррр ииии чччч ееее сссс кккк ииии хххх фффф ииии гггг уууу рррр П П оооо сссс тттт рррр оооо ееее нннн ииии ееее г г г г рррр аааа фффф ииии кккк оооо вввв и и и и д д д д ииии аааа гггг рррр аааа мммм мммм....


1. Способы вывода графической информации. В Delphi существует несколько способов вывода графической информации: В Вывод заранее приготовленных изображений (компоненты Image, Shape); П Построение графиков и диаграмм (компонент Chart и др.); Ф Формирование изображений программным способом (объект Canvas).


2.Отображение 2.Отображение картинок. Отображение картинок при помощи компонента Image мы рассмотрели в оооо дддд нннн оооо йййй и и и и зззз п п п п рррр ееее дддд ыыыы дддд уууу щщщщ ииии хххх т т т т ееее мммм.... Здесь мы рассмотрим пример осуществления простейшей анимации путем периодического изменения отображаемой картинки в компонентах Image. ПППП ееее рррр ееее йййй тттт ииии н н н н аааа п п п п рррр ииии мммм ееее рррр....






3.Отображение 3.Отображение геометрических фигур. И Из нескольких компонентов Shape можно создавать несложные рисунки. П Программно изменяя положение (.Left,.Top) размер (.Width,.Height) и цвет (Brush.Color) компонентов Shape в рисунке можно осуществить элементы простейшей анимации. Р Р Р Р аааа сссс сссс мммм оооо тттт рррр ееее тттт ьььь п п п п рррр ииии мммм ееее рррр....


4.Построение 4.Построение графиков и диаграмм. Диаграммы предназначены для более наглядного представления массивов численных данных, их визуального отображения и анализа. ПППП рррр ииии мммм ееее рррр.... Для построения диаграмм в Delphi имеется несколько компонентов, один из них компонент Chart (раздел TeeChart Std).










Графиков и диаграмм. Данные для отображения обычно передаются в Chart программно, пример: Series1.Clear; {очистить серию} for i:=1 to N do Series1.addxy(i, A[i], clGreen); Значение по оси X Значение по оси Y Подпись по оси X Цвет данных на диаграмме РР аааа сссс сссс мммм оооо тттт рррр ееее тттт ьььь п п п п рррр ииии мммм ееее рррр п п п п оооо сссс тттт рррр оооо ееее нннн ииии яяяя гггг рррр аааа фффф ииии кккк аааа ф ф ф ф уууу нннн кккк цццц ииии ииии y y y y = = = = S S S S iiii nnnn ((((xxxx))))


Далее: Лабораторная работа «««« ОООО тттт оооо бббб рррр аааа жжжж ееее нннн ииии ееее к к к к аааа рррр тттт ииии нннн оооо кккк и и и и г г г г ееее оооо мммм ееее тттт рррр ииии чччч ееее сссс кккк ииии хххх фффф ииии гггг уууу рррр, и и и и хххх а а а а нннн ииии мммм аааа цццц ииии яяяя »»»»....Задание: 1) Разработать приложение для осуществления простейшей анимации путем периодического изменения отображаемой картинки в компонентах Image. (Количество картинок не менее трех, картинки подобрать самостоятельно).




Далее: Лабораторная работа «««« ПППП оооо сссс тттт рррр оооо ееее нннн ииии ееее г г г г рррр аааа фффф ииии кккк оооо вввв и и и и д д д д ииии аааа гггг рррр аааа мммм мммм »»»»....Задание: 1)М одифицировать приложение из лабораторной работы 9 (Отображение данных в таблице). Добавить возможность отображения некоторых данных из таблицы на гистограмме или круговой диаграмме. 2) Построить график заданной функции.

Работа с графикой в Delphi это не только линии и рисунки, но также и и печать текстовых документов. Поэтому в Delphi работе с графикой нужно уделить немного времени. Работа с графикой в Delphi предполагает обращение к канве - свойству Canvas компонентов. Canvas Delphi это холст, который позволяет программисту иметь доступ к каждой своей точке (пикселу), и словно художнику отображать то, что требуется. Конечно, рисовать попиксельно для работы с графикой в Delphi не приходится, система Delphi предоставляет для мощные средства работы с графикой , облегчающие задачу программиста.

В работе с графикой в Delphi в распоряжении программиста находятся канва (холст, полотно - свойство Canvas Delphi компонентов), карандаш (свойство Pen ), кисть (свойство Brush) того компонента или объекта, на котором предполагается рисовать. У карандаша Pen и кисти Brush можно менять цвет (свойство Color) и стиль (свойство Style). Доступ к шрифтам предоставляет свойство канвы Font . Эти инструменты позволяют отображать как текст, так и достаточно сложные графики математического и инженерного содержания, а также рисунки. Кроме этого, работа с графикой позволяет использовать в Delphi такие ресурсы Windows как графические и видеофайлы.

Конечно, не все компоненты в Delphi имеют эти свойства. На вкладке Additional расположен специализированный компонент TImage , специально предназначенный для рисования, но также свойство Canvas имеют, например, такие компоненты как ListBox, ComboBox, StringGrid, а также и сама Форма, которая размещает наши компоненты! Кроме того, для печати документов Delphi обращается к свойству Canvas такого объекта как принтер.

Основное свойство такого объекта как Canvas Delphi - Pixels типа TColor , то есть это двумерный массив точек (пикселов), задаваемых своим цветом. Рисование на канве происходит в момент присвоения какой-либо точке канвы заданного цвета. Каждому пикселу может быть присвоен любой доступный для Windows цвет. Например, выполнение оператора

Image1.Canvas.Pixels:=clRed;

Приведёт к рисованию красной точки с координатами . Узнать цвет пиксела можно обратным присвоением:

Color:=Image1.Canvas.Pixels;

Тип TColor определён как длинное целое (LongInt). Его четыре байта содержат информацию о долях синего (B), зелёного (G), и красного (R) цветов. В 16-ричной системе это выглядит так: $00BBGGRR . Доля каждого цвета может меняться от 0 до 255. Поэтому чтобы отобразить максимально красную точку, ей нужно присвоить цвет $000000FF .
Для стандартных цветов в Delphi определён набор текстовых констант. Увидеть его можно, открыв в Инспекторе Объектов свойство Color, например, той же Формы.

Следующая таблица содержит некоторые свойства и методы канвы:

Процедура TextOut(X, Y: Integer; const Text: WideString);
Производит вывод строки Text начиная с (X, Y) - левого верхнего пиксела текста.
Свойство TextWidth(var Text: String): Integer;
Содержит длину строки Text в пикселах.
Свойство TextHeight(var Text: String): Integer;
Содержит высоту строки Text в пикселах.
Процедура MoveTo(X, Y: Integer);
Производит перемещение позиции к пикселу с адресом (X, Y).
Процедура LineTo(X, Y: Integer);
Производит рисование прямой линии из точки текущей позиции к пикселу с адресом (X, Y). Адрес (X, Y) становится точкой текущей позиции.
Процедура FillRect(const Rect: TRect);
Заполняет прямоугольник Rect на холсте, используя текущую кисть. Может использоваться, в том числе, для стирания части изображения на холсте.

Напишем, используя только эти методы канвы, приложение для изображения на канве компонента Image текста, который вводится в компонент Memo :

Первое, что мы сделаем, это инициализацию переменных при старте программы. Необходимо определить размеры области рисования (создадим для этого глобальную переменную Rect типа TRect) и сделать цвет фона Image белым:

procedure TForm1.FormCreate(Sender: TObject);
begin
Rect.Left:=0;
Rect.Top:=0;
Rect.Right:=Image1.Width;
Rect.Bottom:=Image1.Height;
Image1.Canvas.Brush.Color:=clWhite;
end ;

Затем нарисуем рамку по сторонам Image:

procedure TForm1.page;
begin
with Image1.Canvas do
begin
MoveTo(0, 0);
LineTo(Image1.Width-1, 0);
LineTo(Image1.Width-1, Image1.Height-1);
LineTo(0, Image1.Height-1);
LineTo(0, 0);
end ;
end ;

Попробуем, что получилось. Всё работает, но рамка пока не выводится. Поэтому добавим процедуру page в в процедуру FormCreate . Теперь красиво. Далее напишем простую процедуру стирания, очищения Image. Её нужно будет вызывать перед любым обновлением изображения, иначе предыдущее и последующее изображения будут перекрываться.

procedure TForm1.clearing;
begin
Image1.Canvas.FillRect(Rect); //Прямоугольник Rect заполняется белым цветом, изображение стирается.
end ;

Теперь пришла очередь непосредственно процедуры вывода текста. Начнём выводить текст от точки (3, 3) - верхнего левого угла листа, с небольшим отступом в 3 пиксела. Каждую последующую строку будем смещать на высоту строки:

procedure TForm1.prn;
var i: Integer;
begin
with Image1.Canvas do
for i:=1 to Memo1.Lines.Count do
TextOut(3, 3+(i-1)*TextHeight("A"), Memo1.Lines);
end ;

Теперь всё готово для вывода текста. Делать это будем по событию OnChange:

procedure TForm1.Memo1Change(Sender: TObject);
begin
clearing;
prn;
page;
end ;

Ну и напоследок процедура изменения размера шрифта:

procedure TForm1.Edit1Change(Sender: TObject);
begin
Memo1.Font.Size:=UpDown1.Position;
Image1.Canvas.Font.Size:=UpDown1.Position;
Memo1Change(Sender);
end ;

Можно модифицировать эту программу для вывода текста на печать. Для работы с принтером нужно подключить модуль Printers :

unit Unit1;

Interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Printers ;

При работе с принтером как с полотном для начала печати вызывается метод BeginDoc , затем производится вывод документа, завершается печать вызовом метода EndDoc :

Printer.BeginDoc;
with Printer.Canvas do
begin
... Печать документа...
end ;
Printer.EndDoc;

Ширина и высота полотна принтера доступны через свойства Printer.PageWidth и Printer.PageHeight . Закончить печать на одной странице и начать печатать на другой можно с помощью метода Printer.NewPage .

Для отображения графической информации в библиотеке Delphi предусмотре­ны компоненты, список которых дан в табл. 6.

Таблица 6

Компоненты отображения графической информации

Компонент Страница Описание
Image (изображение) Additional Используется для отображения графики
PaintBox (окно для рисования) System Используется для создания на форме некоторой области, в кото­рой можно рисовать
DrawGrid (таблица рисунков) Additional Используется для отображения в строках и столбцах нетекстовых данных
Chart (диаграммы и графики) Additional Компонент принадлежит к семей­ству компонентов TeeChart, кото­рые используются для создания диаграмм и графиков
Chartfx (диаграммы и графики) ActiveX Редактор диаграмм и графиков
FIBook (страницы Excel) ActiveX Компонент ввода и обработки числовой информации
VtChart (диаграммы) ActiveX Окно построения диаграмм

Кроме того, отображать и вводить графическую информацию можно на повер­хности любого оконного компонента, имеющего свойство Canvas - канва.

Таблицы изображений – компоненты DrawGrid и StringGrid

Компонент DrawGrid используется для создания в приложении таблицы, ко­торая может содержать графические изображения. Этот компонент подобен компоненту StringGrid, поскольку послед­ний является производным от DrawGrid. Поэтому в DrawGrid присутствуют все свойства, методы, события компонента StringGrid, кроме относящихся к тексту, т.е. кроме свойств Cells , Cols, Rows, Objects. С этой точки зрения компонент StringGrid обладает существенно большими возможностями, чем DrawGrid, поскольку он может хранить в ячейках и изображения, и тексты. А если вы захотите внести текст в какие-то ячейки DrawGrid, то вам надо будет использовать для это­го методы вывода текста на канву, что не очень удобно.

Компоненты DrawGrid и StringGrid имеют канву Canvas, на которой можно размещать изображения.

Имеется метод Cell-Rect, который возвращает область канвы, отведенную под заданную ячейку. Этот метод определен как

function CellRect(ACol, ARow: Longint): TRect;

где ACol и ARow - индексы столбца и строки, начинающиеся с 0, на пересечении которых расположена ячейка. Возвращаемая этой функцией область является об­ластью канвы, в которой можно рисовать необходимое изображение. Например, оператор

DrawGridl.Canvas.CopyRect(DrawGridl.CellRect(1,1),

BitMap.Canvas,Rect(0,0,BitMap.Height,BitMap.Width));

копирует методом CopyRect в ячейку (1,1) таблицы DrawGridl изображение из компонента BitMap. Эта ячейка является второй слева и второй сверху в таблице, поскольку индексы начинаются с 0. Учтите, что если размеры ячейки меньше, чем размер копируемого изображения, то в ячейке поя­вится только левая верхняя часть картинки.

Изображение на канве компонентов DrawGrid и StringGrid, как и на канве любого компонента, подвержено стиранию при перекрытии окна приложения дру­гими окнами или, например, при сворачивании приложения.

Удобным способом занесения изображений в ячейки DrawGrid является испо­льзование обработчика событий OnDrawCell. Эти события наступают для каждой ячейки таблицы в момент ее перерисовки. Заголовок обработчика имеет вид:

procedure TForml.DrawGridlDrawCell(Sender: TObject;

ACol, ARow: Integer; Rect: TRect; State: TGridDrawState)

Параметр State указывает состояние ячейки. Он является множест­вом, которое может содержать следующие элементы: gdSelected - выделенная ячейка, gdFocused - ячейка, находящаяся в фокусе, gdFixed - ячейка в фикси­рованной области таблицы. Параметр State можно использовать для различного характера отображения ячеек в различных состояниях.

Компонент Shape

Компонент Shape только условно может быть отнесен к средствам отображе­ния графической информации, поскольку просто представляет собой различные геометрические фигуры, соответствующим образом заштрихованные. Основное свойство этого компонента - Shape (форма), которое может принимать значения:

StRectangle – прямоугольник;

StSquare – квадрат;

StRoundRect - прямоугольник со скругленными углами;

StRouhdSquare - квадрат со скруглен­ными углами;

StEllipse – эллипс;

StCircle – круг.

Другое существенное свойство компонента - Brush (кисть). Это свойство яв­ляется объектом типа TBrush, имеющим ряд подсвойств, в частности цвет (Brush.Color) и стиль (Brush.Style) заливки фигуры. Заливку при некоторых зна­чениях Style вы можете видеть на рис. 3.2. Третье из специфических свойство компонента Shape - Pen (перо), определяющее стиль линий.

Компонент Chart

Теперь рассмотрим компонент Chart. Этот компонент позволяет строить раз­личные диаграммы и графики, которые выглядят очень эффектно. Ком­понент Chart имеет множество свойств, методов, событий, так что если все их рас­сматривать, то этому пришлось бы посвятить целую главу. Поэтому ограничимся рассмотрением только основных характеристик Chart. А с остальными вы можете ознакомиться во встроенной справке Delphi или просто опробовать их, экспери­ментируя с диаграммами.

Компонент Chart является контейнером объектов Series - наследников клас­са TChartSeries. Каждый такой объект представляет серию данных, характеризующихся определенным стилем отображения: тем или иным графиком или диа­граммой. Каждый компонент Chart может включать несколько серий. Если вы хо­тите отображать график, то каждая серия будет соответствовать одной кривой на графике. Если вы хотите отображать диаграммы, то для некоторых видов диа­грамм можно наложить друг на друга несколько различных серий, для других (на­пример для круговых диаграмм) это, вероятно, будет выглядеть некрасиво. Одна­ко и в этом случае вы можете задать для одного компонента Chart несколько се­рий одинаковых данных с разным типом диаграммы. Тогда, делая в каждый мо­мент времени активной одну из них, вы можете предоставить пользователю выбор типа диаграммы, отображающей интересующие его данные.

Разместите один или два компонента Chart на форме и посмотрите открывшиеся в Инспекторе Объектов свойства. При­ведем пояснения некоторых из них.

AllowPanning - определяет возможность пользователя прокручивать наблюда­емую часть графика во время выполнения, нажимая правую кнопку мыши. Возможные значения: pmNone - прокрутка запрещена, pmHori/ontal, pm Vertical или pmBoth - разреше­на соответственно прокрутка только в горизонтальном направ­лении, только в вертикальном или в обоих направлениях.

AhowZoom - позволяет пользователю изменять во время выполнения масш­таб изображения, вырезая фрагменты диаграммы или графика курсором мыши. Если рамка фрагмента рисуется вправо и вниз, то этот фрагмент растягивается на все поле графика. А если рамка ри­суется вверх и влево, то восстанавливается исходный масштаб.

Title - определяет заголовок диаграммы.

Foot - определяет подпись под диаграммой. По умолчанию отсутству­ет. Текст подписи определяется подсвойством Text.

Frame - определяет рамку вокруг диаграммы.

Рядом со многими из перечисленных свойств в Инспекторе Объектов располо­жены кнопки с многоточием, которые позволяют вызвать ту или иную страницу Редактора Диаграмм - многостраничного окна, позволяющего установить все свойства диаграмм. Вызов Редактора Диаграмм возможен также двойным щелч­ком на компоненте Chart или щелчком на нем правой кнопкой мыши и выбором команды Edit Chart во всплывшем меню.

Cделайте двойной щелчок на верхнем компоненте Chart. Вы попадете в окно Редактора Диаграмм на страницу Chart, которая имеет несколько закладок. Прежде всего вас будет интересовать на ней закладка Series. Щелкните на кнопке Add - добавить серию. Вы попадете в окно, в котором вы мо­жете выбрать тип диаграммы или графика. В данном случае выберите Pie - круго­вую диаграмму. Воспользовавшись закладкой Titles вы можете задать заголовок диаграммы, закладка Legend позволяет задать параметры отображения легенды диаграммы (списка обозначений) или вообще убрать ее с экрана, закладка Panel определяет вид панели, на которой отображается диаграмма, закладка 3D дает вам возможность изменить внешний вид вашей диаграммы: наклон, сдвиг, толщину и т.д.

Когда вы работаете с Редактором Диаграмм и выбрали тип диаграммы, в ком­понентах Chart на вашей форме отображается ее вид с занесенными в нее условны­ми данными. Поэтому вы сразу можете наблюдать результат приме­нения различных опций к вашему приложению, что очень удобно.

Страница Series, также имеющая ряд закладок, дает вам возможность выбрать дополнительные характеристики отображения серии. В частности, для круговой диаграммы на закладке Format полезно включить опцию Circled Pie, которая обес­печит при любом размере компонента Chart отображение диаграммы в виде круга. На закладке Marks кнопки группы Style определяют, что будет написано на ярлыч­ках, относящихся к отдельным сегментам диаграммы: Value - значение, Percent - проценты, Label - названия данных и т.д.

Вы можете, если хотите, добавить на этот компонент Chart еще одну тождест­венную серию, нажав на закладке Series страницы Chart кнопку Clone, а затем для этой новой серии нажать кнопку Change (изменить) и выбрать другой тип диаграм­мы, например Bar.

Выйдите из Редактора Диаграмм, выделите в вашем приложении нижний компонент Chart и повторите для него задание свойств с помощью Редактора Диа­грамм. В данном случае вам надо будет задать две серии, если хотите отображать на графике две кривые, и выбрать тип диаграммы Line. Поскольку речь идет о гра­фиках, вы можете воспользоваться закладками Axis и Walls для задания координат­ных характеристик осей и трехмерных граней графика.

На этом проектирование внешнего вида приложения завершается. Осталось написать код, задающий данные, которые вы хотите отображать. Для тестового приложения давайте зададим в круговой диаграмме просто некоторые констант­ные данные, а в графиках - некоторые функции.

Для задания отображаемых значений надо использовать методы серий Series. Остановимся только на трех основных методах.

Метод Clear очищает серию от занесенных ранее данных.

Метод Add:

Add(Const AValue:Double; Const ALabel:String; AColor:TColor) ,

позволяет добавить в диаграмму новую точку. Параметр AValue соответствует до­бавляемому значению, параметр ALabel - метка, которая будет отображаться на диаграмме и в легенде, AColor - цвет. Параметр ALabel - не обязательный, его можно задать пустым: ‘ ’. Метод AddXY:

AddXY(Const AXValue, AYValue: Double; Const ALabel: String; AColor: TColor)

позволяет добавить новую точку в график функции. Параметры AXValue и AYVa­lue соответствуют аргументу и функции. Параметры ALabel и AColor те же, что и в методе Add.

Таким образом, процедура, обеспечивающая загрузку данных в нашем приме­ре, может иметь вид:

const Al=155; A2=251; A3=203; A4=404; var i:word; begin

With Seriesl do begin

Add(Al,"Цех l",clYellow);

Add(A2,"Цех 2",clBlue);

Add(A3,"Цех 3",clRed);

Add(A4,"Цех 4",clPurple); end;

Series2.Clear; SeriesS.Clear; for i:=0 to 100 do begin

Series2.AddXY(0.02*Pi*i,sin(0.02*Pi*i)

SeriesS.AddXY(0.02*Pi*i,cos(0.02*Pi*i) end;

ClRed); ,clBlue);

Операторы Clear нужны, если в процессе работы приложения вы собираетесь обновлять данные.

На этом мы закончим знакомство с компонентом Chart. Правда, мы рассмот­рели только малую часть его возможностей.

Слайд 2

«Отображение графической информации в Delphi» План темы: Способы вывода графической информации в Delphi. Отображение картинок. Отображение геометрических фигур. Построение графиков и диаграмм.

Слайд 3

1. Способы вывода графической информации. В Delphi существует несколько способов вывода графической информации: Вывод заранее приготовленных изображений (компоненты Image, Shape); Построение графиков и диаграмм (компонент Chart и др.); Формирование изображений программным способом (объект Canvas).

Слайд 4

Отображение картинок. Отображение картинок при помощи компонента Imageмы рассмотрели в одной из предыдущих тем. Здесь мы рассмотрим пример осуществления простейшей анимации путем периодического изменения отображаемой картинки в компонентах Image. Перейти на пример.

Слайд 5

Отображение геометрических фигур. Отображениепростейших геометрических фигур на форме обеспечивает компонент Shape.

Слайд 6

Отображение геометрических фигур. Основные свойства компонента Shape:

Слайд 7

Отображение геометрических фигур. Из нескольких компонентов Shape можно создавать несложные рисунки. Программно изменяя положение (.Left, .Top) размер(.Width, .Height) и цвет (Brush.Color)компонентов Shape в рисунке можно осуществить элементы простейшей анимации. Рассмотреть пример.

Слайд 8

Построение графиков и диаграмм. Диаграммы предназначены для более наглядного представления массивов численных данных, их визуального отображения и анализа. Пример. Для построения диаграмм в Delphi имеется несколько компонентов, один из них компонент Chart (раздел TeeChart Std).

Слайд 9

Построение графиков и диаграмм. Вид компонента Chart после его установки на форму:

Слайд 10

Построение графиков и диаграмм. Кроме «Инспектора объектов» доступ к свойствам компонента Chart можно получить открыв специальное окно диалога (правая кнопкана компоненте \ Edit Chart…) Добавить серию данных Изменить тип диаграммы

Слайд 11

Построение графиков и диаграмм. Выбор типа диаграммы:

Слайд 12

Построение графиков и диаграмм. Установка свойств для осей координат (Axis):

Слайд 13

Построение графиков и диаграмм. Данные для отображения обычно передаются в Chart программно, пример: Series1.Clear; {очистить серию} for i:=1 to N do Series1.addxy(i, A[i], ‘’, clGreen); Значение по оси X Значение по оси Y Подпись по оси X Цвет данных на диаграмме Рассмотреть пример построения графика функции y = Sin(x)

Слайд 14

Далее: Лабораторная работа № 13.1. «Отображение картинок и геометрических фигур, их анимация». Задание: 1) Разработать приложение для осуществления простейшей анимации путем периодического изменения отображаемой картинки в компонентах Image. (Количество картинок не менее трех, картинки подобрать самостоятельно).

Слайд 15

Задание: 2) Придумать и нарисовать рисунок из компонентов Shape. Программно изменяя положение, размер или цвет компонентов Shape в рисунке осуществить элементы простейшей анимации.

Слайд 16

Далее: Лабораторная работа № 12.2. «Построение графиков и диаграмм». Задание: Модифицировать приложение из лабораторной работы № 9 (Отображение данных в таблице). Добавить возможность отображения некоторых данных из таблицы на гистограмме или круговой диаграмме. 2) Построить график заданной функции.

Посмотреть все слайды

«Отображение графической информации в Delphi»
План темы:
1. Способы вывода графической
информации в Delphi.
2. Отображение картинок.
3. Отображение геометрических
фигур.

1. Способы вывода графической информации.
В Delphi существует несколько способов
вывода графической информации:
Вывод заранее приготовленных
изображений (компоненты Image,
Shape);
Построение графиков и диаграмм
(компонент Chart и др.);
Формирование изображений
программным способом (объект
Canvas).

2. Отображение картинок.
Отображение картинок при помощи
компонента Image мы рассмотрели в
одной из предыдущих тем.
Здесь мы рассмотрим пример
осуществления простейшей анимации
путем периодического изменения
отображаемой картинки в
компонентах Image.
Перейти на пример.


Отображение простейших
геометрических фигур на форме
обеспечивает компонент Shape.

3. Отображение геометрических фигур.
Основные свойства компонента Shape:
Brush
Pen
Shape
Цвет (.Color) и стиль (.Style) для
заполнения фигуры.
Цвет (.Color), стиль (.Style), ширина
(.Width) и способ вывода (.Mode) линий
фигуры.
Вид геометрической фигуры.

3. Отображение геометрических фигур.
Из нескольких компонентов Shape
можно создавать несложные рисунки.
Программно изменяя положение
(.Left, .Top) размер (.Width, .Height) и
цвет (Brush.Color) компонентов Shape
в рисунке можно осуществить
элементы простейшей анимации.
Рассмотреть пример.

4. Построение графиков и диаграмм.
Диаграммы предназначены для
более наглядного представления
массивов численных данных, их
визуального отображения и анализа.
Пример.
Для построения диаграмм в Delphi
имеется несколько компонентов,
один из них компонент Chart (раздел
TeeChart Std).

4. Построение графиков и диаграмм.
Вид компонента Chart после его
установки на форму:

4. Построение графиков и диаграмм.
Кроме «Инспектора объектов» доступ к
свойствам компонента Chart можно
получить открыв специальное окно
диалога (правая кнопка на компоненте \
Edit Chart…)
Добавить
серию данных
Изменить тип
диаграммы

4. Построение графиков и диаграмм.
Выбор типа диаграммы:

4. Построение графиков и диаграмм.
Установка свойств для осей координат
(Axis):

4. Построение графиков и диаграмм.
Данные для отображения обычно
передаются в Chart программно,
пример:
Series1.Clear; {очистить серию}
for i:=1 to N do
Series1.addxy(i, A[i], ‘’, clGreen);
Значение по
оси X
Значение по
оси Y
Подпись
по оси X
Цвет данных
на диаграмме
Рассмотреть пример построения
графика функции y = Sin(x)

Далее:
Лабораторная работа № 13.1.
«Отображение картинок и геометрических
фигур, их анимация».
Задание:
1) Разработать приложение для осуществления
простейшей анимации путем периодического
изменения отображаемой картинки в
компонентах Image. (Количество картинок не
менее трех, картинки подобрать
самостоятельно).

Задание:
2) Придумать и нарисовать рисунок из
компонентов Shape. Программно
изменяя положение, размер или цвет
компонентов Shape в рисунке
осуществить элементы простейшей
анимации.

Далее:
Лабораторная работа № 13.2.
«Построение графиков и диаграмм».
Задание:
1) Модифицировать приложение из
лабораторной работы № 9 (Отображение
данных в таблице). Добавить возможность
отображения некоторых данных из таблицы
на гистограмме или круговой диаграмме.
2) Построить график заданной функции.


Close