Компоненти за прикажување на графички информации. Презентација на тема „Прикажување графички информации во Делфи“. Кратки информации од теоријата

За прикажување на графички информации, библиотеката Делфи обезбедува компоненти, чиј список е даден во табела. 6.

Табела 6

Компоненти за прикажување на графички информации

Компонента Страница Опис
Слика Дополнителни Се користи за прикажување графика
PaintBox (прозорец за цртање) Систем Се користи за создавање област на формата во која можете да цртате
DrawGrid (табела со цртежи) Дополнителни Се користи за прикажување на нетекстуални податоци во редови и колони
Графикон (табели и графикони) Дополнителни Компонентата припаѓа на семејството на компоненти TeeChart, кои се користат за креирање графикони и графикони
Chartfx (табели и графикони) ActiveX Уредувач на графикони и графикони
FIBook (страници на Excel) ActiveX Компонента за внесување и обработка на нумерички информации
VtChart (табели) ActiveX Прозорец за дијаграмирање

Дополнително, можете да прикажете и внесете графички информации на површината на која било компонента на прозорецот што има својство Платно- платно.

Табели со слики - компоненти на DrawGrid и StringGrid

Компонента DrawGridсе користи за креирање табела во апликација која може да содржи графички слики. Оваа компонента е слична на компонентата StringGridбидејќи второто е изведено од DrawGrid.Затоа во DrawGridприсутни се сите својства, методи, настани на компонентата StringGridосвен оние поврзани со текстот, т.е. освен имотите Клетки, Колови, редови, објекти.Од оваа гледна точка, компонентата StringGridима значително поголеми способности од DrawGridбидејќи може да складира и слики и текстови во ќелии. И ако сакате да внесете текст во некои ќелии DrawGridтогаш за ова ќе треба да користите методи за прикажување текст на преглед, што не е многу погодно.

Компоненти DrawGrid и StringGridимаат преглед Платно,на кои можете да објавувате слики.

Постои метод Cell-Rect,кој ја враќа површината на платно доделена за дадена ќелија. Овој метод е дефиниран како

функција 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.Овие настани се случуваат за секоја клетка на табелата во моментот кога таа се прецртува. Заглавието на управувачот изгледа вака:

процедура TForml.DrawGridlDrawCell(Испраќач: TObject;

ACol, Arow: Цел број; Rect: TRect; Состојба: TGridDrawState)

Параметар државаукажува на состојбата на клетката. Тоа е збир што може да ги содржи следниве елементи: gdИзбрано- избрана ќелија, gdФокусирани- клетката што е во фокусот, gdПоправено- ќелија во фиксна област на табелата. Параметар државаможе да се користи за различно прикажување на ќелиите во различни состојби.

Компонента за обликување

Компонента за обликувањеможе само условно да се класифицира како средство за прикажување на графички информации, бидејќи едноставно претставува различни геометриски форми, соодветно засенчени. Главното својство на оваа компонента е Облик(форма), која може да ги земе следните вредности:

StRectangle – правоаголник;

StSquare – квадрат;

StRoundRect - правоаголник со заоблени агли;

StRouhdSquare - квадрат со заоблени агли;

StEllipse – елипса;

StCircle - круг.

Друго суштинско својство на компонентата е Четка(четка). Ова својство е објект од типот TBrush,има голем број на под-својства, особено боја (Четка.Боја)и стил (Четка.Стил)пополнување на фигурата. Можете да го видите пополнувањето за некои вредности на стилот на сл. 3.2. Третото специфично својство на компонентата Облик- Пенкало(пенкало) што го дефинира стилот на линијата.

Компонента на графиконот

Сега да ја погледнеме компонентата Графикон.Оваа компонента ви овозможува да изградите различни графикони и графикони кои изгледаат многу импресивно. Компонента Графиконима многу својства, методи, настани, така што ако ги земеме предвид сите, ќе треба да посветиме цело поглавје на ова. Затоа, ќе се ограничиме на разгледување само на главните карактеристики Графикон.Остатокот можете да го најдете во вградената помош на Delphi или едноставно да ги испробате со експериментирање со дијаграмите.

Компонента Графиконе контејнер со предмети Серии- наследници на класот TChartSeries.Секој таков објект претставува серија податоци кои се карактеризираат со одреден стил на прикажување: одреден график или дијаграм. Секоја компонента Графиконможе да вклучува неколку епизоди. Ако сакате да прикажете график, тогаш секоја серија ќе одговара на една крива на графикот. Ако сакате да прикажувате графикони, за некои типови графикони можете да преклопите неколку различни серии една врз друга, за други (како табели со пити) веројатно ќе изгледа грдо. Сепак, дури и во овој случај, можете да поставите за една компонента Графиконнеколку серии исти податоци со различни типови графикони. Потоа, со тоа што еден од нив ќе биде активен во секое време, можете да му овозможите на корисникот избор од типот на графиконот што ги прикажува податоците за кои се заинтересирани.

Ставете една или две компоненти Графиконна формуларот и погледнете ги својствата што се отвораат во Инспекторот за објекти. Еве неколку објаснувања за некои од нив.

AllowPanning - ја одредува способноста на корисникот да го скролува набљудуваниот дел од графикот за време на извршувањето со притискање на десното копче на глувчето. Можни вредности: pmНишто - лизгањето е забрането, pmHori/ontal, pm Вертикално или pmBoth - лизгањето е дозволено, соодветно, само во хоризонтална насока, само во вертикална насока или во двете насоки.

AhowZoom - му овозможува на корисникот да го промени зумирањето на сликата при извршување со отсекување фрагменти од графикон или графикон со курсорот на глувчето. Ако рамката на фрагментот е нацртана надесно и надолу, тогаш овој фрагмент се протега за да го покрие целото поле на графикот. И ако рамката е нацртана и лево, тогаш оригиналната скала е вратена.

Наслов - го дефинира насловот на дијаграмот.

Нога - го дефинира натписот под дијаграмот. Никој стандардно. Текстот за потпис се одредува со потсвојството Текст.

Рамка - ја дефинира рамката околу дијаграмот.

До многу од наведените својства во Инспекторот за објекти има копчиња со елипсови кои ви дозволуваат да повикате една или друга страница од Уредувачот на графикони - прозорец со повеќе страници што ви овозможува да ги поставите сите својства на графиконите. Уредувачот на дијаграми може да се повика и со двоен клик на компонентата Графиконили со десен клик на неа и избирање на командата Edit Chart од менито што се појавува.

Кликнете двапати на горната компонента Графикон.Ќе бидете префрлени во прозорецот Уредувач на графикони на страницата Графикон, кој има неколку јазичиња. Прво на сите, ќе ве интересира табулаторот Серија на неа. Кликнете на копчето Додај - додајте серија. Ќе бидете однесени во прозорец каде што можете да го изберете типот на графиконот или графиконот. Во овој случај, изберете Пита - пита шема. Користејќи го табулаторот Наслови, можете да го поставите насловот на графиконот, табулаторот Легенда ви овозможува да поставите параметри за прикажување на легендата на графиконот (листа на симболи) или целосно да ја отстраните од екранот, табот Панел го одредува изгледот на панелот на на кој графиконот се прикажува, табулаторот 3D ви дава можност да го промените изгледот на вашиот графикон: навалување, поместување, дебелина итн.

Кога работите во Уредувач на графикони и сте избрале тип на графикон, компонентите ГрафиконВашиот образец го прикажува својот изглед со условните податоци внесени во него. Затоа, можете веднаш да го видите резултатот од примената на различни опции на вашата апликација, што е многу погодно.

Страницата Серија, која има и голем број јазичиња, ви дава можност да изберете дополнителни опции за прикажување на серијата. Конкретно, за дијаграмот со пити, на табулаторот Формат, корисно е да се овозможи опцијата заокружена пита, која ќе осигури дека графиконот се прикажува како круг во која било големина на компонентата на графиконот. На табулаторот Marks, копчињата од групата Style одредуваат што ќе пишува на етикетите поврзани со одделни сегменти на графиконот: Вредност - вредност, Процент - проценти, Етикета - имиња на податоци итн.

Можете, доколку сакате, да додадете друга идентична серија на оваа компонента на графиконот со кликнување на копчето Клон на картичката Серија на страницата Графикон, а потоа за ова нова серијаКликнете на копчето Промени и изберете друг тип на графикон, на пример Лента.

Излезете од уредувачот на графикони, изберете ја долната компонента на графиконот во вашата апликација и повторете ги поставувањата на нејзините својства користејќи го уредувачот на графикони. Во овој случај, ќе треба да наведете две серии ако сакате да прикажете две криви на графикот и изберете го типот Линиски графикон. Затоа што ние зборуваме заза графиконите, можете да ги користите табовите Оска и Ѕидови за да ги одредите координатните карактеристики на оските и тридимензионалните рабови на графикот.

Тоа е тоа за дизајн изгледапликацијата завршува. Останува само да го напишете кодот што ги одредува податоците што сакате да ги прикажете. За апликацијата за тестирање, да поставиме само неколку константни податоци во дијаграмот на пита и некои функции во графиконите.

За да ги поставите прикажаните вредности, мора да користите методи на серија. Да се ​​фокусираме само на три главни методи.

Метод Јаснобрише серија од претходно внесени податоци.

Метод Додај:

Додај (Const AValue:Double; Const ALabel:String; AColor:TCcolor)

ви овозможува да додадете нова точка на дијаграмот. Параметар AVвредностодговара на додадената вредност, параметар ALознака- етикета што ќе биде прикажана на дијаграмот и во легендата, AColor- боја. Параметар ALознака- опционално, може да се постави празно: „“. Метод AddXY:

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

ви овозможува да додадете нова точка на графикот на функции. Опции AXValueИ AYValueодговараат на аргументот и функцијата. Опции ALabel и AColorисто како и во методот Додадете.

Така, постапката за вчитување податоци во нашиот пример може да изгледа вака:

const Al=155; А2=251; А3=203; А4=404; var i: збор; започне

Започнете со серијата

Додај (Al"Работилница l", clYellow);

Додај (A2"Работилница 2", clBlue);

Додај(A3"Работилница 3",clRed);

Додај (A4"Работилница 4", clPurple); крај;

Series2.Clear; Серија S.Clear; за i:=0 до 100 почнуваат

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

SeriesS.AddXY(0.02*Pi*i,cos(0.02*Pi*i) крај;

ClRed); , clBlue);

Оператори Јасносе потребни ако сакате да ги ажурирате податоците додека работи апликацијата.

Ова го завршува нашиот вовед во компонентата Графикон.Точно, разгледавме само мал дел од неговите можности.

Работа со графикаво Делфи не се само линии и цртежи, туку и печатење текстуални документи. Затоа во Делфи на работасо графикатреба да потрошите малку време. Работи со графика во Делфивклучува пристап до платното - својството Canvas на компонентите. Платно Делфиова е платно што му овозможува на програмерот да има пристап до секоја негова точка (пиксели) и, како уметник, да го прикаже она што е потребно. Се разбира, цртајте пиксел по пиксел за работа со графикаво Делфи не е потребно, системот Делфи обезбедува моќен графички алатки, што ја олеснува задачата на програмерот.

Кога работи со графика во Делфи, програмерот има на располагање преглед (платно, платно - својство ПлатноДелфи компоненти), молив (сопственост Пенкало), четка (својство на четка) на компонентата или предметот на кој треба да сликате. На молив Пенкалои четки Четкаможе да ја смените бојата (својство на боја) и стилот (својство на стил). Пристапот до фонтови е овозможен од имотот на платно Фонт. Овие алатки ви овозможуваат да прикажувате текст и доста сложени графикони на математичка и инженерска содржина, како и цртежи. Освен тоа, работа со графикави овозможува да користите такви ресурси во Делфи Windowsкако графички и видео датотеки.

Се разбира, не сите компоненти во Делфи ги имаат овие својства. На јазичето Дополнителнисе наоѓа специјализирана компонента ТИслика, специјално дизајниран за цртање, но и имотот Платноимаат, на пример, компоненти како што се ListBox, ComboBox, StringGrid, како и самата форма, која ги поставува нашите компоненти! Дополнително, за печатење документи, Delphi пристапува до својствата Canvas на објект како што е печатачот.

Главното својство на таков објект како платно Делфи е Пикселитип TColor, односно тоа е дводимензионална низа точки (пиксели) специфицирани според нивната боја. Цртежот на платното се случува во моментот на доделување дадена боја на која било точка на платното. На секој пиксел може да му се додели која било боја достапна за Windows. На пример, извршување на изјавата

Image1.Canvas.Pixels:=clRed;

Ќе резултира со цртање црвена точка со координати. Можете да ја дознаете бојата на пиксел со инверзна задача:

Боја:=Слика1.Платно.Пиксели;

Тип TColorдефиниран како долг цел број (LongInt). Неговите четири бајти содржат информации за пропорциите на сините (B), зелените (G) и црвените (R) бои. Во хексадецимален систем изгледа вака: $00BBGGRR. Пропорцијата на секоја боја може да варира од 0 до 255. Затоа, за да се прикаже максималната црвена точка, треба да се додели боја $000000FF.
За стандардни бои во Delphi се дефинира множество текстуални константи. Можете да го видите со отворање на својството Боја, на пример, од истиот Форма во инспекторот за објекти.

Следната табела содржи некои својства и методи на платно:

Постапка TextOut(X, Y: Цел број; констТекст: WideString);
Произведува стринг излез Текстпочнувајќи од (X, Y) - горниот лев пиксел на текстот.
СвојствоТекстШирина( varТекст: Низа): Цел број;
Ја содржи должината на низата Текство пиксели.
Својство TextHeight( varТекст: Низа): Цел број;
Ја содржи висината на линијата Текство пиксели.
Постапка MoveTo (X, Y: Цел број);
Ја поместува позицијата на пикселот со адреса (X, Y).
Постапка LineTo (X, Y: Цел број);
Повлекува права линија од точката на моменталната позиција до пикселот со адресата (X, Y). Адресата (X, Y) станува точка на моменталната позиција.
Постапка FillRect( конст Rect: TRect);
Пополнува правоаголник Rectна платно користејќи ја тековната четка. Може да се користи, меѓу другото, за бришење на дел од сликата на платно.

Ајде да напишеме, користејќи ги само овие методи на платно, апликација за слика на компонентното платно Сликатекст кој се внесува во компонентата Меморандум:

Првото нешто што ќе направиме е да ги иницијализираме променливите кога ќе започне програмата. Неопходно е да се одреди големината на областа за цртање (ќе создадеме глобална променлива Rect од типот TRect за ова) и да ја поставиме бојата на позадината Сликабело:

постапка TForm1.FormCreate(Испраќач: TObject);
започне
Rect.Left:=0;
Rect.Top:=0;
Rect.Right:=Слика1.Ширина;
Rect.Bottom:=Слика1.Висина;
Image1.Canvas.Brush.Color:=clWhite;
крај;

Потоа нацртајте рамка на страните на сликата:

постапка TForm1.страница;
започне
соСлика1.Платно направи
започне
MoveTo (0, 0);
LineTo (Слика 1. Ширина-1, 0);
LineTo (Слика 1. Ширина-1, Слика1. Висина-1);
LineTo(0, Image1.Height-1);
LineTo (0, 0);
крај;
крај;

Ајде да пробаме што се случи. Сè работи, но рамката сè уште не е прикажана. Затоа, да додадеме постапка страницаво постапката FormCreate. Сега е прекрасно. Следно, ќе напишеме едноставна процедура за бришење и чистење на сликата. Ќе треба да се повика пред какво било ажурирање на сликата, инаку претходните и следните слики ќе се преклопуваат.

постапка TForm1.расчистување;
започне
Image1.Canvas.FillRect(Rect); //Правоаголник Rectсе полни со бело и сликата се брише.
крај;

Сега на ред е самата процедура за излез на текст. Да почнеме да цртаме текст од точката (3, 3) - горниот лев агол на листот, со мало вдлабнување од 3 пиксели. Секоја следна линија ќе биде поместена со висината на линијата:

постапка TForm1.prn;
var i: Цел број;
започне
соСлика1.Платно направи
зајас:=1 доМемо1.Линии.Брое направи
TextOut(3, 3+(i-1)*TextHeight("A"), Memo1.Lines);
крај;

Сега сè е подготвено за излез на текст. Ова ќе го направиме користејќи го настанот OnChange:

постапка TForm1.Memo1Change(Испраќач: TObject);
започне
расчистување;
prn;
страница;
крај;

И, конечно, постапката за промена на големината на фонтот:

постапка TForm1.Edit1Change(Испраќач: TObject);
започне
Memo1.Font.Size:=UpDown1.Position;
Image1.Canvas.Font.Size:=UpDown1.Position;
Memo1Change (Испраќач);
крај;

Можете да ја измените оваа програма за да печатите текст. За да работите со печатачот, треба да го поврзете модулот Принтери:

единицаЕдиница 1;

Интерфејс

користи
Windows, пораки, SysUtils, варијанти, класи, графики, контроли, формулари,
Дијалози, StdCtrls, Принтери ;

Кога работите со печатачот како платно, методот се повикува да започне со печатење BeginDoc, тогаш документот е излезен, печатењето се завршува со повикување на методот EndDoc:

Печатач.BeginDoc;
соПечатач.Платно направи
започне
...Печати документ...
крај;
Printer.EndDoc;

Ширината и висината на мрежата на печатачот се достапни преку својствата Печатач.Ширина на страницаИ Печатач.Висина на страницата. Можете да го завршите печатењето на една страница и да започнете со печатење на друга користејќи го методот Печатач.Нова страница.

ЛАБОРАТОРИСКА РАБОТА

ПРЕДМЕТ: « Графика воДелфи– изградба на наједноставните
геометриски форми“

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

Delphi му обезбедува на развивачот три начини за прикажување графика:

    зацртување додека програмата работи

    употреба на претходно креирана графика

    создавање слики со помош на графички компоненти

За изградба на графикони, создадени се посебни класи кои обезбедуваат алатки и методи за цртање: алатките се опишани во три класи - Tfont, Tpen, Tbrush; Областа за цртање и методите се обезбедени од класата Tcanvas.

КласаТфонт– ги одредува карактеристиките на фонтот што се користи за прикажување на текст на платното. Својствата на класата се опишани во делот „Основни својства достапни за повеќето компоненти“.

КласаТпен– ги одредува карактеристиките на пенкалото (моливот) со кое се цртаат линии.

Својствакласа Тпен:

Боја:Tcolor – боја на линијата (стандардно – црна)

Ширина:цел број – дебелина на линијата во пиксели;

Стил = (psSolid, psDash, psDot, psdashDot, psClear) – го дефинира стилот на линијата (цврста, испрекината, точки, цртичка, невидлива)

КласаЧетка– ги поставува карактеристиките на четката што ја бојадисува површината на сликата.

Својствакласа Четка:

Боја:Tcolor – боја на четка (стандардно – бела)

Стил– шема на четка, може да ги земе следните вредности:

BsSolid – цврста боја

BsClear – недостаток на засенчување

BsВертикални – вертикални линии

BsBdiaagonal – десни дијагонални линии

BsDiagCross – коси ќелија

BsХоризонтални – хоризонтални линии

BsFdiagonal – леви дијагонални линии

BsCross – кафез

КласаTcanvas– ја одредува површината на која е поставена креираната слика и алатките со кои се креира сликата: фонт, молив, четка.

Стандардно, целата област на клиентот на формуларот се користи како работна област (платно) (без заглавјето, главното мени и линиите за лизгање на формуларот), но можете да доделите помали работни области во формуларот користејќи компоненти PaintBoxили Слика. Потеклото на координатата на платното е горниот лев агол на работната површина, ширината на работната површина се одредува според имотот Ширина на клиентот, висина – имот Висина на клиентот.

Својствакласа Tcanvas:

Платно:Tcanvas – ја дефинира областа за цртање

Четка:Tbrush – четка за полнење затворени форми

Фонт:Tfont – фонт за прикажување на текст на платно

Пенкало:Tpen – молив (пенкало) за цртање

PenPos:Tpoint – моментална положба на невидливиот курсор на платното

Коментар : Тип Tpoint – дефиниран на следниов начин:

Тип Точка = рекорд

Пиксели: Tcolor - ги поставува боите на пикселите на платното, X, Y - координатите на пикселите. Својството Pixels е погодно за користење за исцртување графикони користејќи точки од избраната боја.

Главни методи на класата TCanvas

    постапка MoveTo(x,y:цел број); - го поместува пенкалото без цртање права до точка со координати (x, y).

    Постапка LineTo(x,y:цел број); - повлекува права од моменталната точка до точката со координати (x, y).

Пример : Нацртајте дијагонална сина линија на обликот од горниот лев агол на обликот до долниот десен агол.

Пенкало.боја:= cblue;

MoveTo (0,0); LineTo (ClientWidth, ClientHeight);

    постапка Правоаголник(x1,y1,x2,y2:цел број); - црта правоаголник: x1,y1 – координати на горниот лев агол; x2, y2 се координатите на долниот десен агол.

Пример : Нацртајте квадрат со жолта сенка со страна од 60 пиксели во средината на обликот.

var Xc,Yc: цел број; //

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Платно.Четка.боја:=жолта;

Платно.правоаголник (xc-30,Yc-30,xc+30,Yc+30);

    постапка Елипса(x1,y1,x2,y2:цел број); - црта елипса впишана во правоаголник со наведените координати.

Пример : нацртајте елипса впишана во компонентата PaintBox.

PaintBox1.Canvas.Pen.Width:=4; //широчина на линијата = 4 пиксели

PaintBox1.Canvas.Ellipse(0,0, PaintBox1. ClientWidth, PaintBox1. ClientHeight);

    постапка Многуаголник(); - црта затворен многуаголник одреден со низа од координати.

Пример : нацртајте исполнет дијамант што ги поврзува средните точки на страните на обликот

Var Xc,Yc:цел број; // координати на центарот на клиентската област на формуларот

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Платно.Четка.Боја:=Rgb(275,140,70); // портокалова боја засенчување

Платно.Полигон();

крај;

    Постапка Лак(x1,y1,x2,y2,x3,y3,x4,y4:цел број); - го прикажува лакот на елипсата ограничена со правоаголник (x1, y1, x2, y2). Лакот се прикажува од точка со координати (x3,y3) до точка со координати (x4,y4) противво насока на стрелките на часовникот.

Пример : нацртајте елипсовиден лак што ја поврзува средината на горната страна на компонентата
PaintBox со средината на неговата десна страна.

Постапка Tform1.Button1Click(Sender:Tobject);

Var X3,y3,x4,y4: Цел број;

Со PaintBox1 направи

Платно.Пен.Боја:= clБела;

Платно.Пен.Ширина:= 3;

Canvas.rectangle(0, 0, PaintBox1.ClientWidth, PaintBox1.ClientHeight);

X3:= ClientWidth div 2;

X4:= Ширина на клиентот;

Y4:= ClientHeight div 2;

Платно.Пен.Боја:= clMaroon;

Canvas.ARC(0, 0, PaintBox1.ClientWidth, PaintBox1.ClientHeight, x3, y3, x4, y4);

Крај;

    постапка Акорд(x1,y1,x2,y2,x3,y3,x4,y4:цел број); - црта акорд - права линија што поврзува 2 точки од елипсата: точка со координати (x3, y3) со точка (x4, y4).

Пример : Заменете го методот Chord во примерот даден за методот ARC и добијте го следниот резултат.

    постапка Пита(x1,y1,x2,y2,x3,y3,x4,y4:цел број); - црта елипса отсечка која го поврзува центарот на елипсата со координатите (x3,y3) и (x4,y4).

Пример : Во примерот даден за методот ARC, замислете го методот PIE и добијте го овој резултат.

    постапка TextOut(x,y:цел број;Текст:низа); - ја прикажува низата предадена во параметарот Текст во правоаголник чиј горен лев агол е наведен x,y координати. Карактеристиките на фонтот се поставени со алатката Font.

Пример : напишете го името на нацртаниот график на дното на формуларот.

Платно.Фонт.Висина:=20 ; //висина на знаци 20 пиксели

Платно.Фонт.Боја:=сино;

Canvas.TextOut(10, ClientHeight-24, „график на функцијата SIN(X)“);

Графички компоненти

Делфи нуди голем број на готови компоненти кои ви овозможуваат да се подобрите кориснички интерфејс. Овие компоненти се наоѓаат на страницата ДополнителниИ Системпалети на компоненти.

КомпонентаСлика(класТимаж) – создаден за прикажување графички слики складирани во надворешни датотеки со екстензии:

    Ико (икона, пиктограм);

    Bmp (битмапа, битмапа);

    Wmf, .emf (метафил);

    Jpg, .jpeg (JPEG компресирана слика).

Основни својства :

Автоматска големина:boolean – кога е поставено на true, компонентата ги прилагодува своите димензии на големината на вчитаната слика; стандардно е лажно.

Истегнете се:boolean - ако е точно, вчитаната вредност ја зафаќа целата површина на компонентата; стандардно е лажно.

Платно:Tcanvas – се користи за цртање во внатрешноста на компонентата за време на извршувањето на програмата.

Слика:Tpicture - Ја дефинира сликата поставена во компонентата.

Основни методикласа Слика:

Постапка LoadFromFile(Име на датотека: низа); - вчитува слика од датотека со име Filename во компонентата.

Постапка SaveToFile(Име на датотека: низа); -ја зачувува сликата од компонентата во датотека со име Filename.

КомпонентаPaintBox - дефинира правоаголна површина за цртање. Главниот имот е Платно, достапни се сите методи од класата Tcanvas, нема независни својства.

Пример : нацртајте жолта елипса впишана во компонентата PaintBox1.

Постапка Tform1Button1Click(испраќач:Tobject);

Со PaintBox1.Canvas do

Четка.Боја:=жолта;

Ellipse(0,0,PaintBox1.ClientWidth, PaintBox1.ClientHeight);

крај;

КомпонентаBitBtnрастерско копче

Копчето BitBtn, за разлика од стандардното, може, покрај насловот (Наслов), да содржи слика одредена од својството Глиф. Има сет на стандардни BitBtn копчиња, со однапред дефинирани својства (со специфична слика, натпис и цел) - типот на стандардно копче се избира преку својството Љубезен. Вид=(bkCustom, bkAbort, bkОткажи, bkClose…)

Задача бр. 1

Создадете апликација која содржи две компоненти на слика и 4 копчиња на главната форма („Вчитај слика“, „Изгради геометриска фигура“, „Промени боја“, „Излез“) и ви овозможува:

а) вчитајте во компонентата Image1 избрана од корисникот графичка сликатака што сликата ја зафаќа целата област на компонентата Image.

б) под компонентата Image1 прикажете го натписот „Ова е слика од датотека.

(за секое мерење на големината и положбата на компонентатаСлика1 натпис треба
сместени строго под компонентата).

в) нацртајте геометриска фигура во внатрешноста на компонентата Image2: пополнета елипса отсечка што ја поврзува средината на компонентата Image со средината на долната и десната страна на компонентата Image.

(за секоја промена во големината и положбата на компонентатаСлика2 фигурата мора да биде правилно конструирана, т.е. според спецификацијата во однос на компонентатаСлика2)

г) променете ја бојата на линијата на сликата нацртана во Image2 на барање на корисникот користејќи ја компонентата ColorDialog.

Задача бр. 2

Направете апликација која ви овозможува случајно да поставите неколку етикети (на пример, зборот „Ура!“) во компонента на слика. За имплементација, користете генератор случајни броевиСлучајно и Случајна функција.

Корисникот мора да ги внесе димензиите на компонентата Image, зборот прикажан на Сликата и бројот на зборови.

Задача бр.3

Креирајте апликација која ви овозможува да изберете име на геометриска форма од ListBox и да ја нацртате избраната форма во компонентата Image. Бојата на обликот е избрана од компонентата RadioGroup.

Задача бр.4

Поделете ја компонентата PaintBox1 на 4 еднакви делови, обојте го секој дел во различна боја, на пример: сина, жолта, зелена, црвена.

До секој агол на PaintBox1, напишете ги координатите на тој агол (во однос на потеклото на формата на која се наоѓа компонентата PaintBox1).

Задача бр.5

СО

изберете го типот на обликот што ќе се нацрта од компонентата Radiogroup1, бојата за полнење од компонентата Radiogroup2 и нацртајте ја избраната форма во компонентата Image.

Задача бр.6

Направете апликација која му овозможува на корисникот да ги постави димензиите на компонентата PaintBox1 (во пиксели).

Поделете ја компонентата PaintBox1 на 2 еднакви делови, внатре во секој дел нацртајте елипса, исполнета со бојата избрана од корисникот во ColorDialog.

Задача бр.7

СО Создадете апликација која ви овозможува:

изберете го името на геометриската форма од ListBox и нацртајте ја избраната форма во компонентата Image. Обликот треба да се пополни со бојата избрана од корисникот во компонентата ColorDialog ако е избрано Да во компонентата RadioGroup.

Задача бр.8

Направете апликација која му овозможува на корисникот да ги постави димензиите на компонентата PaintBox1 (во пиксели).

Поделете ја компонентата PaintBox1 на 4 еднакви делови, внатре во секој дел нацртајте различна геометриска форма (елипса, ромб, триаголник и правоаголник). Бојата на секоја форма ја избира корисникот во ColorGrid.

Задача бр.9

изберете го името на геометриската форма од ListBox
форми (елипса, ромб, правоаголник) и цртаат
избраната форма во компонентата Image. Локација
форми во компонентата Слика (I четвртина, II четвртина,

III или IV квартал) и се избира бојата на фигурата
од компонентите на RadioGroup.

Задача бр.10

Направете апликација која му овозможува на корисникот да ги постави димензиите на компонентата PaintBox1 (во пиксели).

Обезбедете дека големината на страната не може да биде текст, не може да биде негативен број и не може да ја надмине помалата големина на формата.

Поделете ја компонентата PaintBox1 на 4 еднакви делови, внатре во секој дел нацртајте геометриска форма избрана од корисникот во Combobox (елипса, ромб, триаголник и правоаголник). Бојата на фигурата ја избира корисникот во ColorBox.

Задача бр.11

Создадете апликација која ви овозможува:

изберете од компонентата Radiogroup позицијата на цртежот

во компонентата Image на правоаголен триаголник, поставете
бојата на засенчувањето на фигурата или бојата на контурите, во зависност од
овозможување на копчињата на полето за избор. Изберете боја преку
ColorGrid компонента.

Задача бр.12

Направете апликација која му овозможува на корисникот да ги постави димензиите на компонентата PaintBox1 (во пиксели).

Обезбедете дека големината на страната не може да биде текст, не може да биде негативен број и не може да ја надмине помалата големина на формата.

Поделете ја компонентата PaintBox1 на 2 еднакви делови, внатре во еден од деловите нацртајте геометриска форма избрана од корисникот во Combobox (елипса, ромб, триаголник и правоаголник). Бојата на фигурата ја избира корисникот во ColorBox.

На пример, можете да ја промените бојата на формуларот на следниов начин:

form1.Color:= ColorBox1.Colors;

Задача бр.13

Создадете апликација која ви овозможува:

а) нацртајте квадрат во средината на обликот (големината на страната на квадратот ја внесува корисникот). Обезбедете дека големината на страната не може да биде текст, не може да биде негативен број и не може да ја надмине помалата големина на формата.

б) поделете го квадратот на една или две дијагонала, во зависност од вклучувањето на копчињата на полето за избор, и обојте го секој добиен триаголник со различна боја. Изборот на боја го прави корисникот.

Задача бр.14

Направете апликација која му овозможува на корисникот да ги постави димензиите на компонентата PaintBox1 (во пиксели).

Обезбедете дека големината на страната не може да биде текст, не може да биде негативен број и не може да ја надмине помалата големина на формата.

Поделете ја компонентата PaintBox1 на 2 еднакви делови, внатре во едниот дел нацртајте ромб, а во другиот дел нацртајте кој било триаголник. Бојата на фигурата ја избира корисникот во ColorBox.

На пример, можете да ја промените бојата на формуларот на следниов начин:

form1.Color:= ColorBox1.Colors;

Задача бр.15

Создадете апликација која ви овозможува:

а) поставете ги димензиите на компонентата Image хоризонтално и вертикално да бидат исти и еднакви на бројот што го внесува корисникот од тастатурата;

(под услов големината на страната да не биде текст, да не биде негативен број и да не може да ја надмине помалата големина на формата)

б) поделете ја компонентата Image на 4 еднакви квадрати со две сини линии;

в) во секој добиен квадрат, нацртајте круг впишан во него (дозволете му на корисникот да ја избере бојата на круговите преку дијалог прозорецот за избор на боја).

Задача бр.16

Направете апликација која му овозможува на корисникот да ги постави димензиите на компонентата PaintBox1 (во пиксели).

Обезбедете дека големината на страната не може да биде текст, не може да биде негативен број и не може да ја надмине помалата големина на формата.

Поделете ја компонентата PaintBox1 на 9 еднакви делови и обојте го секој добиен правоаголник од шаховска табла. Бојата за полнење ја избира корисникот во ColorBox.

На пример, можете да ја промените бојата на формуларот на следниов начин:

form1.Color:= ColorBox1.Colors;

Задача бр.17

Ставете две компоненти на сликата и четири копчиња на формуларот: Боја на линијата, Боја за полнење, Ок и Излез; и компонентата Уреди.

Кога ќе кликнете на копчето OK, квадрат со страната X е нацртан во Image1, а правоаголен триаголник со еднакви кати, од кои секоја има должина X, е нацртан во Image2.

Темето на триаголникот се совпаѓа со потеклото на Image2. Едно од темињата на квадратот се совпаѓа со потеклото на Image1.

Копчето OK станува достапно само кога сте избрале боја на линија и боја за полнење за да ја нацртате формата.

X – избира по случаен избор со помош на функцијата Random и вредноста на X треба да се прикаже во компонентата Уреди.

Задача бр.18

Направете апликација која му овозможува на корисникот да ги постави димензиите на компонентата PaintBox1 (во пиксели).

Поделете ја компонентата PaintBox1 на 4 еднакви делови; внатре во делот избран од корисникот треба да се изгради пополнет круг, чија големина ја поставува корисникот. Корисникот ја избира бојата за полнење во ColorBox.

На пример, можете да ја промените бојата на формуларот на следниов начин:

form1.Color:= ColorBox1.Colors;

Список на компоненти за прикажување на графички информации

За прикажување на графички информации, библиотеката Delphi обезбедува компоненти, чиј список е даден во Табела 4.1.

Табела 4.1 Компоненти за приказ на графички информации Пиктограм

Компонента

Страница

Опис

Слика

Се користи за прикажување графика: икони, битмапи и метадатотеки.


PaintBox (прозорец за цртање)

Се користи за создавање област на формата во која можете да цртате.


DrawGrid (табела со цртежи)

Се користи за прикажување на нетекстуални податоци во редови и колони.


Графикон (табели и графикони)

Компонентата припаѓа на семејството на компоненти TChart, кои се користат за креирање графикони и графикони.


Дополнително, можете да прикажувате и внесувате графички информации на површината на која било графика на екранот на платно.

Платно Платноне е компонента, па строго кажано не треба да се смета во опсегот на оваа книга. Но, бидејќи многу компоненти, особено форми, имаат преглед и прегледот обезбедува можност за прикажување на различни графички информации, сепак е препорачливо да се дадат некои првични информации за прегледот.

Платното е област на компонента на која можете да цртате или прикажувате готови слики. Содржи својства и методи кои во голема мера ја поедноставуваат графиката на Делфи. Сите сложени интеракции со системот се скриени за корисникот, така што личноста која воопшто не е искусна во компјутерската графика може да црта во Делфи.

Секоја точка од контурите има координати XИ Y. Координатниот систем на платното, како и насекаде во Делфи, има свое потекло во горниот лев агол на платното. Координирај Xсе зголемува при движење од лево кон десно, а координатата Y- при движење од врвот до дното. Координатите се мерат во пиксели. Пикселот е најмалиот елемент на површината на дизајнот со кој може да се манипулира. Најважното својство на пикселот е неговата боја.

Платното има имот Пиксели. Ова својство е дводимензионална низа која е одговорна за боите на платното. На пример, Платно. Пикселиодговара на бојата на пикселот 10-ти од лево и 20-ти од врвот. Можете да третирате низа од пиксели како секое својство: да ја промените бојата со тоа што ќе му дадете нова вредност на пикселот или да ја одредите неговата боја од вредноста зачувана во него. На пример, Платно. Пиксели:=0или Платно. Пиксели:=clЦрно- ова е за да го поставите пикселот на црно.

Имотот Пикселиможе да се користи за цртање на платно. Ајде да се обидеме да нацртаме графикон пиксел по пиксел на синусоид на контурите на формата. За да го направите ова, во формата управувач со настани OnPaint(цртеж) можете да го вметнете следниот код:

TForm1. FormPaint(Испраќач: TObject);

var,Y:реално; // функционални координати,PY: longint; // координати на пиксели

започне:=clБело;

за PX:=0 доШирина на клиентот направи

(X е аргумент на графиконот,

:=PX*4*Pi/ClientWidth;:=Sin(X);

(PY - координати на пиксели,

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

(Ја поставува бојата на избраната

пиксел (За осветленоста). Пиксели: = 0;

крај;

Извршете ја оваа апликација за тестирање и ќе го видите резултатот прикажан на Слика 4.1 а. Графикот на синусниот бран се покажа, иако не многу добар, бидејќи се дели на поединечни точки - пиксели.

Платно - класен објект TCcanvasима многу методи кои ви дозволуваат да цртате графикони, линии, форми користејќи го својството Пенкало- пердув. Ова својство е објект, кој пак има голем број својства. Еден од нив е имот што веќе го знаете Боја- бојата со која е нанесен цртежот. Втор имот - Ширина(широчина на линијата). Ширината е наведена во пиксели. Стандардната ширина е 1.

Имотот Стилго одредува типот на линијата. Ова својство може да ги земе следните вредности:

Платното има имот PenPosтип TPoint(цм .). Ова својство ја одредува моменталната позиција на пенкалото во координатите на платно. Движење на пенкалото без цртање линија, т.е. промена PenPos, произведен со методот на платно Премести во (X, Y).Еве ( X, Y) -координати на точката до која се движи пенкалото. Оваа моментална точка станува почетна точка, од која методот Линија до (X, Y)можеш да нацрташ права до точка со координати ( X, Y).Во овој случај, тековната точка се преместува до крајната точка на линијата и нов повик LineToќе извлече точка од оваа нова моментална точка.

Ајде да се обидеме да го нацртаме синусниот графикон од претходниот пример со пенкало. Во овој случај, управувачот со настани на формата OnPaintможе да изгледа вака:

постапка TForm1. FormPaint(Испраќач: TObject);

var,Y:реално; // функционални координати,PY: longint; // координати на пиксели

започне: =clБело;. MoveTo(0,ClientHeight div 2);

за PX: =0 доШирина на клиентот направи

(X е аргумент на графиконот,

што одговара на пикселот со координати РХ):=PX*4*Pi/ClientWidth;:=Sin(X);

(PY - координати на пиксели,

што одговара на координатата Y):=trunc(ClientHeight - (Y+1) *ClientHeight/2);

(На графиконот е нацртана линија). LineTo (PX, PY);

Резултатот од апликацијата во оваа верзија можете да го видите на Сл. 4.1 б. Како што можете да видите, квалитетот на графиката е значително подобрен.

Пенкалото може да црта не само прави линии, туку и форми. За целосна листа на методи на платно што го користат пенкалото, видете ја вградената помош на Delphi. Засега како пример ќе дадеме само еден од нив - Елипса, кој црта елипса или круг. Се декларира како

постапкаЕлипса (X1, Y1, X2, Y2: Цел број);

каде се параметрите X1, X2, Y1, Y2определи ги координатите на правоаголник кој опишува елипса или круг. На пример, операторот

Елипса (10, 40, 20, 50);

ќе нацрта круг со дијаметар 10 и централни координати (15, 45).

Во општиот случај, фигурите не се цртаат празни, туку се пополнуваат со користење на својството платно Четка- четка. Имотот Четкае објект кој пак има голем број својства. Имотот Бојаја дефинира бојата на полнење. Имотот Стилја дефинира шемата за полнење (засенчување). Стандардна вредност Стиледнакви bsЦврсто, што значи цврста боја Боја.

На пенкалото ПенкалоИма уште еден имот што сè уште не сме го разгледале. Овој имот е Мод(Мод). Стандардна вредност Режим = pmКопирај. Ова значи дека линиите се нацртани со бојата наведена во имотот Боја. Но, можни се и други режими, во кои не се зема предвид само бојата Боја, но и бојата на соодветните позадински пиксели. Најинтересен од овие режими е pmNotXor- додавање со позадина користејќи инверзно ексклузивно ИЛИ. Ако овој режим е поставен, тогаш со цртање на истата фигура повторно на истото место на платното, се отстранува претходно нацртаната слика и се враќаат боите на пикселите што биле пред првата слика на фигурата.

Оваа карактеристика на режимот pmNotXorможе да се користи за создавање едноставни анимации. Доволно е да нацртате нешто, потоа да го избришете она што сте го нацртале, да го прецртате малку изменето - и цртежот ќе изгледа како да оживува.

Обидете се сами да направите едноставна анимација - круг што се движи. Започнете нова апликација и одете на имплементацијавметнете реклама

X,Y: цел број;

Ова ќе воведе глобални променливи XИ Y- тековни координати на сликата.

Во форма настан OnPaintвметнете изјави

Четка. Боја:=clБела;:=clБела;. Пенкало. Режим:=pmNotXor;

Првиот од овие оператори ја поставува бојата на четката на бела Четка. Ова значи дека вашиот круг ќе биде обоен во бело внатре. Вториот оператор ја поставува бојата на позадината на површината на формата на бела.

Третиот оператор го поставува режимот на пенкало pmNotXor, што ќе ви овозможи да ја избришете старата слика пред да нацртате нова.

Дури и наједноставната анимација бара синхронизација. Во спротивно, брзината на движење ќе биде одредена од брзината на компјутерот. Затоа, префрлете ја компонентата во формуларот Тајмер- тајмер од страницата Систем. Оваа компонента е опишана во делот 5.7 .

Можете да го гледате таму Детален опис. Засега поставете го неговиот имот Интерваледнакво на, на пример, 30 (ова е времето на експозиција во милисекунди, но вистинско времебрзината на блендата ќе биде поголема - видете го делот 5.7) и поставете го својството Овозможеноеднакви лажни(ова значи дека тајмерот нема да започне автоматски кога ќе се стартува апликацијата).

Во случај управувачот на оваа компонента OnTimerвметнете изјави

// Избришете ја претходната слика. Елипса (X-5, Y, X+5, Y-1Q); (X);

// Нацртајте нова слика. Елипса (X-5, Y, X+5, Y-10);

// Стоп кога ќе стигнете до крајот на формуларот

ако(X >= ClientWidth-20) тогаш. Овозможено: = неточно;

Првиот од овие оператори црта круг на местото каде што е нацртан порано, т.е. ја брише претходната слика.

Последниот оператор ја запира сликата на работ на формуларот.

Сега додадете копче во формуларот Копчеи поставете ги операторите во управувачот со кликнување на неа

X: =10;: =100;. Елипса (X-5, Y, X+5, Y-10); Овозможено: =true;

Првите два оператори ги одредуваат почетните координати на кругот. Третиот оператор го црта кругот на неговата почетна позиција, а четвртиот оператор го стартува тајмерот.

Емитувајте ја апликацијата, стартувајте ја, кликнете на копчето. Ќе видите слика на круг кој се движи низ обликот од лево кон десно. А потоа искористете ја вашата имагинација и трансформирајте ја оваа не многу интересна апликација во нешто повозбудливо.

Платното може да прикажува не само програмски креирани слики, туку и слики складирани во графички датотеки. Само самото платно нема метод за вчитување слика од датотека. Затоа, датотеката мора да се вчита во некој друг графички објект што може да прима информации од графички датотеки. И потоа препишете ја сликата од овој објект на платно користејќи го методот на платно Нацртај. Неговиот опис:

Draw(X, Y: Цел број; Графички: TGraphic);

Еве ги параметрите XИ Yодреди ги координатите на горниот лев агол на поставеноста на сликата на платното, а Графички- објект кој чува информации. Таков објект може да биде, на пример, објект од типот TBitMap, дизајниран да складира бит матрици. Ајде да видиме како сето ова изгледа во пракса.

Отворете нова апликација, повлечете компонента на формуларот OpenPictureDialogод страницата Дијалози (ова е компонента на дијалогот за отворање графички датотеки - видете во делот 8.2 ) и копчето Копче. Место OpenPictureDialogкаде било во формата, бидејќи оваа компонента е невизуелна, и ставете го копчето на дното на формуларот. Додадете го следниов код во управувачот со кликнување на копчињата:

постапка TForm1. Button1Click(Испраќач: TObject);

var: TBitMap;

// Избор на корисник графичка датотека

ако OpenPictureDialog1. Изврши тогаш

// Креирај објект BitMap од типот TBitMap: =TBitMap. Креирај;

// Префрлете ја сликата на платно на формуларот. Draw (10, 10, BitMap);

//Уништување на објектот BitMap. Бесплатно;

крај;

Овој код создава привремен објект од типот TBitMapСо име BitMap. Потоа се повикува дијалогот за отворање графичка датотека OpenPictureDialog1и, ако корисникот избрал датотека, тогаш таа се презема во BitMapметод LoadFromFile. Потоа користејќи го методот Нацртајвчитаната слика се копира на платното во областа со координатите на горниот лев агол (10,10). По ова привремениот објект BitMapе уништен.

Стартувајте ја вашата апликација и кликнете на нејзиното копче. Ќе видите дека можете да прикачите секаков вид графичка датотека. bmpи ќе се прикаже на контурите на формуларот (види Сл. 4.2 а). Можете да најдете графички датотеки во директориумот Слики. Во Делфи 5 и 4 обично се наоѓа во директориум. \програмски датотеки\Common Files\Borland Shared. Во Делфи 3 се наоѓа во директориум. \program files\Borland\Delphi 3, а во Delphi 1 - во директориумот Delphi 16. Во директориумот Images има, особено, поддиректориум \Images\Splash\16Color\, кој ја складира датотеката вчитана во примерот на сл. 4.2

Создадовте добра апликација за прегледување графички датотеки. Но, сега да се обидеме да го видиме неговиот главен недостаток. Без да ја затворите апликацијата, одете во некоја друга програма, на пример, вратете се во Делфи. Потоа, без да правите ништо таму, вратете се на вашата апликација која работи. Ако програмскиот прозорец во кој влеговте целосно го блокираше прозорецот на вашата апликација, тогаш кога ќе се вратите на него ќе видите дека сликата во прозорецот исчезнала. Ако вашиот прозорец со апликација бил само делумно преклопен, тогаш кога ќе се вратите на вашата апликација, може да видите резултат сличен на оној прикажан на сл. 4.2 б.

Гледате дека ако прозорецот на некоја друга апликација привремено се преклопува со прозорецот на вашата апликација, тогаш сликата нацртана на контурите на формуларот е расипана. Ајде да видиме како можеме да го отстраниме овој недостаток.

Ако прозорецот е затворен и сликата е оштетена, оперативниот систем и кажува на апликацијата дека нешто се променило во околината и дека апликацијата треба да преземе соодветни мерки. Штом е потребно ажурирање на прозорецот, за него се генерира настан OnPaint. Во управувачот на овој настан (во нашиот случај, настанот на формата), треба да ја прецртате сликата.

Може да се направи прецртување различни начиниво зависност од апликацијата. Во нашиот пример, би било можно да се декларира променлива BitMap(оператор var BitMap: TBitMap) надвор од горната процедура, т.е. направете ја оваа променлива глобална со тоа што ќе ја ставите директно во делот имплементација. Оператор BitMap. Бесплатноможе да се премести во управувачот со настани на формулари OnDestroy, што се случува кога апликацијата е затворена. Потоа за време на целото извршување на вашата апликација ќе имате копија од сликата во компонентата BitMapи само треба да влезете во управувачот на настани OnPaintако има само еден оператор:

Draw (10, 10, BitMap);

Направете го ова и ќе видите дека сликата на формуларот не се влошува поради преклопување на прозорците.

Покрај разгледуваниот метод Нацртајпрегледот има и метод за копирање CopyRect:

CopyRect(Dest: TRect; Canvas: TCanvas; Извор: TRect);

Методот го копира наведениот параметар Изворобласт на слика во платното со извор на слика Платнодо наведениот параметар Дестобласта на ова платно. Тип TRect, карактеризирајќи правоаголни области ИзворИ Дест, веќе опишано во делот 3.2 .

На пример, операторот

CopyRect(MyRect2, Bitmap. Canvas, MyRect1);

копии на контурите на формуларот во областа MyRect2слика од областа MyRect1компонента платно Битмапа.

Метод на копирање CopyRectсе изведува во режимот наведен од имотот CopyMode. Стандардно, ова својство ја има вредноста cmSrcКопирај, што едноставно значи замена на сликата претходно содржана во областа Дест, на копираната слика. Други можни вредности CopyModeви дозволуваат да комбинирате слики, но нивното разгледување е надвор од опсегот на оваа книга.

Ќе се ограничиме на овие основни информации за прикажување на графички информации на платното. Во делот 3.2 беа обезбедени информации за излезот од текстот во контурите. Општо земено, платното е сложен објект кој има многу повеќе својства и методи. Но, ова бара проширена дискусија надвор од опсегот на оваа книга. Следната книга од серијата Сите за Делфи ќе ги истражи овие прашања подетално.

Прозорска компонента која има својство Платно- платно.

Image и PaintBox компоненти

Компоненти СликаИ PaintBoxпретставуваат одредена ограничена површина со платно на кое може да се напишат слики, како што е опишано во делот 4.2 . Во овој случај, компонентата PaintBox, строго кажано, не дава ништо ново во споредба со цртање форма на платно. Цртеж на PaintBoxнаместо форма, нема никакви предности, освен, можеби, некакво олеснување во распоредот на еден или повеќе цртежи во областа на прозорецот.

Но, покрај овие способности, компонентата СликаПостојат својства со кои можете да работите разни видовиграфички датотеки Поддржува три типа на датотеки - битни матрици, икони и метадатотеки. Сите три типа на датотеки складираат слики; разликата лежи само во начинот на кој тие се чуваат во датотеките и во средствата за пристап до нив. Бит матрица (датотека со наставка. bmp) ја прикажува бојата на секој пиксел на сликата. Во овој случај, информациите се складираат на таков начин што секој компјутер може да прикаже слика со резолуција и број на бои што одговараат на неговата конфигурација.

Пиктограми (датотеки со наставката . ико) се мали битови матрици. Тие најчесто се користат за претставување на иконите на апликациите, во брзи копчиња, во ставки од менито, во разни списоци. Начинот на складирање на слики во икони е сличен на складирањето на информации во бит матрици, но има и разлики. Особено, иконата не може да се скалира, таа останува големината во која е создадена.

Метадатотеките не ја складираат низата битови што ја сочинуваат сликата, туку информации за тоа како е создадена сликата. Тие чуваат секвенци на команди за цртање, кои може да се повторат при пресоздавање на сликата. Ова ги прави таквите датотеки генерално покомпактни од битните матрици.

Компонента Сликави овозможува да прикажувате информации содржани во графички датотеки од сите наведени типови. Ова се постигнува со неговиот имот Слика- напишете објект TPСлика.

Сл.4.3Прозорец за уредувач на слики


За да се запознаете со ова својство, отворете нова апликација и повлечете компонента на формуларот Слика. Истегнете го или поставете го неговиот имот Порамниеднакви алКлиенттака што ја зафаќа целата клиентска област на формуларот. Кликнете на копчето со елипса веднаш до имотот Сликаво прозорецот Object Inspector или едноставно кликнете двапати на Слика. Прозорецот Уредувач на слики ќе се отвори пред вас (сл. 4.3), што ќе ви овозможи да вчитате во имотот Сликанекоја графичка датотека (копче за вчитување), а исто така и зачувајте отворена датотекапод ново име или во нов директориум. Кликнете Вчитај за да ја вчитате графичката датотека. Ќе видите прозорец за отворање графичка датотека, прикажан на Сл. 4.4 Додека го движите курсорот во списокот со графички датотеки, сликите што ги содржат се прикажуваат во десниот прозорец, а над нив има броеви кои ја карактеризираат големината на сликата . Можете да изберете кој било тип на графичка датотека што ви треба. Да ве потсетиме дека графичките датотеки што се испорачуваат со Delphi можете да ги најдете во директориумот Images. Во Делфи 5 и 4 обично се наоѓа во директориум. \програмски датотеки\Common Files\Borland Shared. Во Делфи 3 се наоѓа во директориум. \program files\Borland\Delphi 3 и во Delphi 1 - во директориумот Delphi 16. Откако датотеката ќе се вчита, кликнете OK во прозорецот Уредувач на слики и во вашата компонента СликаЌе се прикаже сликата што ја избравте. Можете да ја стартувате вашата апликација и да и се восхитувате. Сепак, веќе ја гледате сликата без да ја стартувате апликацијата.

Кога вчитувавте слика од датотека во компонента за време на процесот на дизајнирање Слика, не само што го прикажува, туку и го зачувува во апликацијата. Ова ви дава можност да ја доставите вашата апликација без посебна графичка датотека. Меѓутоа, како што ќе видиме подоцна, во СликаМожете исто така да вчитате надворешни графички датотеки додека апликацијата работи.

Да се ​​вратиме на разгледување на својствата на компонентата Слика.

Ако го поставите имотот Автоматска големинаВ вистина, потоа големината на компонентата Сликаавтоматски ќе се прилагоди на големината на сликата поставена во неа. Доколку имотот Автоматска големинаинсталиран во лажни, тогаш сликата може да не се вклопи во компонентата или, обратно, површината на компонентата може да биде многу поголема од површината на сликата.

Друг имот - Истегнете севи овозможува да ја прилагодите не компонентата на големината на сликата, туку сликата на големината на компонентата. Инсталирајте Автоматска големинаВ лажни, истегнете ја или смалете ја големината на компонентата Сликаи инсталирај Истегнете сеВ вистина. Ќе видите дека цртежот ќе ја зафати целата површина на компонентата, но бидејќи е малку веројатно реално да ги одреди димензиите Сликаточно пропорционално на големината на сликата, сликата ќе биде искривена. Инсталирајте Истегнете сеВ вистинаможе да има смисла само за некои модели, но не и за слики. Имотот Истегнете сене влијае на сликите на иконите што не можат да се променат големината.

Имот - Центар, поставени на вистина, ја центрира сликата на областа Слика, ако големината на компонентата е поголема од големината на сликата.

Ајде да разгледаме уште еден имот - Транспарентен(транспарентност). Ако Транспарентенеднакви вистина, потоа сликата во Сликастанува транспарентен. Ова може да се користи за преклопување на слики една врз друга. Ставете ја втората компонента на формуларот Сликаи вчитајте друга слика во неа. Само обидете се да направите малку пополнета, контура слика. Можете, на пример, да фотографирате меѓу оние што обично се ставаат на копчињата, на пример, стрелка (датотека.\програмски датотеки\заеднички датотеки\borland shared\images\buttons\arrow1l. bmp). Премести го твоето Сликатака што тие се преклопуваат едни со други, а во горниот сет на компоненти Транспарентенеднакви вистина. Ќе видите дека горната слика повеќе не ја замаглува долната. Една од можните употреби на ова својство е преклопување на натписи на слика направени во форма на бит матрица. Овие натписи може да се направат со помош на програмата Уредувач на слики вградена во Делфи.

Ве молиме имајте предвид дека имотот Транспарентенвлијае само на битните матрици. Во овој случај, бојата на долниот лев пиксел на бит матрицата е стандардно транспарентна (т.е., заменета со бојата на сликата лоцирана под неа).

Покривме вчитување слика од датотека за време на процесот на дизајнирање. Но имотот СликаИсто така, го олеснува организирањето размена со графички датотеки од кој било тип за време на извршувањето на апликацијата. За да ја објасниме техниката на таквата размена, прво мора подетално да го разгледаме имотот Слика.

Ова својство е објект, кој пак има подсвојства што укажуваат на складираниот графички објект. Доколку во Сликабит матрица е зачувана и е означена со својството Слика. Битмапа. Ако иконата е зачувана, таа е посочена од својството Слика. Икона. Зачуваната мета-датотека е означена со имотот Слика. Метадатотека. Конечно, графички објект од кој било тип е означен со својството Слика. Графички.

Предмет Сликаи неговите својства Битмапа, Икона, МетадатотекаИ Графичкиимаат методи за читање и пишување датотеки LoadFromFileИ SaveToFile:

постапка LoadFromFile( констИме на датотека: низа);

постапка SaveToFile( констИме на датотека: низа);

За имоти Слика. Битмапа, Слика. ИконаИ Слика. МетадатотекаФорматот на датотеката мора да одговара на класата на објектот: бит матрица, икона, метадатотека. Кога читате датотека во имотот Слика. Графичкидатотеката мора да биде во формат на мета-датотека. И за самиот објект СликаМетодите за читање и пишување автоматски се прилагодуваат на типот на датотеката. Да го објасниме ова со пример.

Ајде да изградиме апликација слична на примерот на гледање графички датотеки дискутирани во делот 4.2. За разновидност, можете да го контролирате користејќи нешто друго освен копче Копче, и менито. Ставете компонента на формуларот Слика. Истегнете го или поставете го неговиот имот Порамниеднакви алКлиенттака што ја зафаќа целата клиентска област на формуларот. Повлечете ја компонентата за дијалог за отворање графичка датотека во формуларот OpenPictureDialog(види дел 8.2 ). Поставете и компонента од главното мени на формуларот Главно мени(види дел 6.1 ) и поставете еден дел во него - Датотека. Во управувачот за овој дел, напишете ја изјавата

(OpenPictureDialog1.Execute) тогаш. Слика. LoadFromFile (.Име на датотека);

Овој оператор ќе повика дијалог за отворање графичка датотека (види Сл. 4.4) и ќе ја вчита во компонентата Слика 1слика од датотека избрана од корисникот (види Сл. 4.5). Покрај тоа, датотеката може да биде од секаков тип: битна матрица, икона или метадатотека.

Сл.4.5Слика во компонента Сликабит матрица (а) и пиктограм (6)



Во оваа апликација методот LoadFromFileсе применува на Слика 1. Слика. Ако се отвораат само датотеки со бит матрица, тогаш операторот за вчитување на датотеки може да се замени со

Слика. Битмапа LoadFromFile (.Име на датотека);

За пиктограми, може да се користи оператор. Слика. Икона. LoadFromFile (.Име на датотека);

а за метафајловите – операторот. Слика. Метадатотека. LoadFromFile (.Име на датотека);

или. Слика. Графички. LoadFromFile (.Име на датотека);

Но, во сите овие случаи, ако форматот на датотеката не се совпаѓа со предвидениот, ќе се појави грешка. Методот работи слично SaveToFileсо таа разлика што се однесуваше на Сликаили да Слика. Графичкизачувува слика од кој било формат во датотека. На пример, ако ја проширите вашата апликација со дијалог SavePictureDialog(види дел 8.2 ), внесете го делот Зачувај како во менито и поставете го операторот во неговиот управувач

SavePictureDialog1. Изврши тогаш. Слика. SaveToFile (SavePictureDialog1. Име на датотеката);

тогаш корисникот ќе може да зачува слика од кој било формат во датотека со ново име. Само во овој случај, за да се избегне забуна во иднина, продолжувањето на зачуваната датотека сепак мора да одговара на форматот на зачуваната слика.

Програмата ќе работи апсолутно идентично за слики од кој било формат ако го замените операторот за зачувување со

Слика. Графички. SaveToFile (.Име на датотека);

користење на имотот Слика. Графички. И ако го знаете форматот на она што е зачувано во компонентата Сликаслики, тогаш можете да го примените методот SaveToFileна имотите Слика. Битмапа, Слика. ИконаИ Слика. Метадатотека.

За сите разгледувани објекти Слика, Слика. Битмапа, Слика. ИконаИ Слика. Метадатотекадефинирани се методите за доделување вредности на објектот:

Додели (Извор: TPersistent);

Сепак, за BitMap, ИконаИ МетадатотекаМожете да доделите само вредности на хомогени објекти: соодветно, бит матрици, икони, метадатотеки. Исклучок се фрла кога се обидувате да доделите вредности на хетерогени објекти EConvertError. Предмет Слика- универзален, може да му се доделат вредностите на објектите од која било од другите три класи. И значењето Сликаможе да се додели само на објект чиј тип одговара на типот на објектот зачуван во него.

Метод Доделетеможе да се користи и за размена на слики со баферот за таблата со исечоци. На пример, операторот

Доделување (Слика 1. Слика);

ќе ја зачува сликата зачувана во таблата со исечоци во таблата со исечоци Слика 1. Сличен оператор

апликација за графички делфи слики

Слика 1. Слика. Доделување (Табла со исечоци);

читај внатре Слика 1слика на таблата со исечоци. Покрај тоа, тоа може да биде која било слика, па дури и текст.

Само треба да запомните кога работите со таблата со исечоци за залепување во операторот користиврската на вашиот модул до модулот Клипбрд. Делфи не ја вметнува автоматски оваа врска.

Враќање на својствата на компонентата Слика, можеме да забележиме еден недостаток својствен на нашата апликација за тестирање, прикажан на сл. 4.5 При вчитување различни слики, големината на прозорецот на апликацијата може да биде или премала, а потоа ќе видите само дел од сликата или премногу голема, и тогаш сликата ќе биде непривлечно поставена во горниот лев агол на формата, оставајќи многу празен простор. Овој недостаток може да се отстрани со користење на својствата Висина(висина) и Ширина(ширина) компонента Слика. Со имот Автоматска големинаинсталиран во вистинадимензии Сликаавтоматски се поставуваат на иста големина како и поставената слика. И овие димензии може да се користат за соодветно менување на големината на формуларот. На пример, претходниот код за вчитување слика од датотека може да се замени со следново:

OpenPictureDialog1. Изврши тогаш

започне. Слика. LoadFromFile (.Име на датотека); Висина на клиентот: = Слика1. Висина + 10;. Врв:=Форма1. ClientRect. Врв

+ (Форма1. Висина на клиентот - Слика1. Висина) div 2;. ClientWidth:=Слика1. Ширина + 10;. Лево: = Форма1. ClientRect. Лево

+ (Form1. ClientWidth - Image1. Width) div 2;

крај;

Овој код ја поставува големината на клиентската област на формуларот да биде малку поголема од големината на компонентата. Слика 1, кои пак се прилагодуваат на големината на сликата благодарение на имотот Автоматска големина. Направете ги овие промени во вашата апликација, стартувајте ја и видете дека формуларот автоматски се прилагодува на големината на поставената слика.

Компонента за обликување

Компонента Обликможе само условно да се класифицира како средство за прикажување на графички информации, бидејќи едноставно претставува различни геометриски форми, соодветно засенчени. Главното својство на оваа компонента е Облик(форма), која може да ги земе следните вредности:

Примери за овие форми се прикажани на сл. 4.7

Сл.4.7Примери на компоненти Облик


Друго суштинско својство на компонентата е Четка(четка). Ова својство е објект од типот TBrush, кој има голем број на подсвојства, особено: боја ( Четка. Боја) и стил ( Четка. Стил) пополнете ја формата. Пополнување на некои вредности Стилможе да се види на сл. 4.7 Третата од специфичните својства на компонентата Облик - Пенкало(пенкало) што го дефинира стилот на линијата. Овој имот е како имот Четка, веќе се дискутирани во делот 4.2 . Можете да најдете референтни податоци за овие својства во Поглавје 10*.

Компонента на графиконот

Сега да ја погледнеме компонентата Графикон. Оваа компонента ви овозможува да изградите различни графикони и графикони кои изгледаат многу импресивно (сл. 4.8). Компонента Графиконима многу својства, методи, настани, така што ако ги земеме предвид сите, ќе треба да посветиме цело поглавје на ова. Затоа, ќе се ограничиме на разгледување само на главните карактеристики Графикон. Остатокот можете да го најдете во вградената помош на Delphi или едноставно да ги испробате со експериментирање со дијаграмите.

Компонента Графиконе контејнер со предмети Сериитип TChartSeries- серија на податоци кои се карактеризираат со различни стилови на прикажување. Секоја компонента може да вклучува неколку серии. Ако сакате да прикажете график, тогаш секоја серија ќе одговара на една крива на графикот. Ако сакате да прикажувате графикони, за некои типови графикони може да имате неколку различни серии преклопени една врз друга, за други (како табели со пити) веројатно ќе изгледа грдо. Сепак, и во овој случај можете да поставите за една компонента Графиконнеколку серии исти податоци со различни типови графикони. Потоа, со тоа што еден од нив ќе биде активен во секое време, можете да му овозможите на корисникот избор од типот на графиконот што ги прикажува податоците за кои се заинтересирани.

Поставете една или две (ако сакате да репродуцирате Сл. 4.8) компоненти Графиконна формуларот и погледнете ги својствата што се отвораат во Инспекторот за објекти. Еве неколку објаснувања за некои од нив.

Определува дали корисникот може да го скролува набљудуваниот дел од графикот за време на извршувањето со кликнување на десното копче на глувчето. Можни вредности: pmНишто - лизгањето е забрането, pmХоризонтално, pmВертикално или pmДвете - лизгањето е дозволено, соодветно, само во хоризонтална насока, само во вертикална насока или во двете насоки.

Дозволува корисникот да ја промени скалата на сликата за време на извршувањето, отсекувајќи фрагменти од графикон или графикон со курсорот на глувчето (сл. 4.8 б подолу го прикажува моментот на гледање фрагмент од графикот, целосно претставен на Сл. 4.8 а).

Го дефинира насловот на табелата.

Ја дефинира ознаката за графиконот. Никој стандардно. Текстот за потпис се одредува со потсвојството Текст.

Дефинира граница околу дијаграмот.

Легендата на дијаграмот е листа на симболи.

MarginLeft, MarginRight, MarginTop, MarginBottom

Вредности на маргините на левата, десната, горната и долната страна.

BottomAxis, LeftAxis, RightAxis

Овие својства ги одредуваат карактеристиките на долната, левата и десната оска, соодветно. Поставувањето на овие својства има смисла за графикони и некои видови графикони.

LeftWall, BottomWall, BackWall

Овие својства ги одредуваат карактеристиките на левиот, долниот и задниот раб на тродимензионалната површина на приказот на графикот, соодветно (види Сл. 4.8 а, долен график).

Список на серии на податоци прикажани во компонентата.

Овозможува или оневозможува приказ на 3D графикон.

Карактеристики на тридимензионалниот приказ.

Тродимензионална скала (на сл. 4.8 ова е дебелината на дијаграмот и ширината на графичките ленти).


До многу од наведените својства во Инспекторот за објекти има копчиња со елипсови кои ви дозволуваат да повикате една или друга страница од Уредувачот на графикони - прозорец со повеќе страници што ви овозможува да ги поставите сите својства на графиконите. Уредувачот на дијаграми може да се повика и со двоен клик на компонентата Графиконили со десен клик на неа и избирање на командата Edit Chart од менито што се појавува.

Ако сакате да се обидете да ја репродуцирате апликацијата прикажана на Слика 4.8, кликнете двапати на горната компонента Графикон. Ќе бидете префрлени во прозорецот Уредувач на графикони (сл. 4.9) до страницата Табела, која има неколку јазичиња. Прво на сите, ќе ве интересира табулаторот Серија на неа. Кликнете на копчето Додај - додајте серија. Ќе ве одведат до прозорец (сл. 4.10), во кој можете да го изберете типот на графиконот или графиконот. Во овој случај, изберете Пита - пита шема. Користејќи го табулаторот Наслови, можете да го поставите насловот на графиконот, табулаторот Легенда ви овозможува да поставите параметри за прикажување на легендата на графиконот (листа на симболи) или целосно да ја отстраните од екранот, табот Панел го одредува изгледот на панелот на на кој графиконот се прикажува, табулаторот 3D ви дава можност да го промените изгледот на вашиот графикон: навалување, поместување, дебелина итн.

Кога работите во Уредувач на графикони и сте избрале тип на графикон, компонентите ГрафиконВашиот образец го прикажува својот изглед со условните податоци внесени во него (види Сл. 4.11).

Сл.4.10Избор на тип на графикон во уредувачот на графикони


Затоа, можете веднаш да го видите резултатот од примената на различни опции на вашата апликација, што е многу погодно.

Страницата Серија, која има и голем број јазичиња, ви дава можност да изберете дополнителни опции за прикажување на серијата. Конкретно, за дијаграмот со пити на јазичето Формат, корисно е да се овозможи опцијата заокружена пита, која ќе осигури дека, во која било големина на компонентата, Графиконприкажете ја табелата во форма на круг. На табулаторот Marks, копчињата од групата Style одредуваат што ќе пишува на етикетите поврзани со одделни сегменти на графиконот: Вредност - вредност, Процент - проценти, Етикета - имиња на податоци итн. Во примерот на Слика 4.8, копчето Процент е овозможено, а на табулаторот Општо е поставен шаблон за проценти за да се осигура дека се прикажуваат само цели броеви.

Можете, ако сакате, да додадете на оваа компонента Графикондруга идентична серија со кликнување на копчето Клон на картичката Серија на страницата Графикон, а потоа за оваа нова серија кликнување на копчето Промени и избирање на друг тип на графикон, на пример, Лента. Се разбира два различни типовидијаграмите на една слика ќе изгледаат лошо. Но, можете да го исклучите индикаторот за оваа нова серија на картичката Серија, а потоа да му дозволите на корисникот да избере еден или друг тип на приказ на графикони (ќе покажеме како се прави тоа подолу).

Излезете од Уредувачот на дијаграми, изберете ја долната компонента во вашата апликација Графикони повторете ги поставките својства за него со помош на Уредувачот на дијаграми. Во овој случај, ќе треба да наведете две серии ако сакате да прикажете две криви на графикот и изберете го типот Линиски графикон. Бидејќи зборуваме за графикони, можете да ги користите табовите Оска и Ѕидови за да ги одредите координатните карактеристики на оските и тридимензионалните рабови на графикот.

Ова го комплетира дизајнот на изгледот на апликацијата. Останува само да го напишете кодот што ги одредува податоците што сакате да ги прикажете. За апликацијата за тестирање, да поставиме само неколку константни податоци во дијаграмот на пита, а синусните и косинусните функции во графиконите.

За да ги поставите прикажаните вредности, мора да користите сериски методи Серии. Да се ​​фокусираме само на три главни методи.

Метод Јаснобрише серија од претходно внесени податоци.

Метод Додадете:

(Const AValue: Double; Const ALabel: String;: TColor)

ви овозможува да додадете нова точка на дијаграмот. Параметар AVвредностодговара на додадената вредност, параметар ALознака- името што ќе биде прикажано на дијаграмот и во легендата, AColor- боја. Параметар ALознака- опционално, може да се постави празно: "".

Метод AddXY:(Const AXValue, AYValue: Double;ALabel: String; AColor: TColor)

ви овозможува да додадете нова точка на графикот на функции. Опции AXValueИ AYValueодговараат на аргументот и функцијата. Опции ALознакаИ AColorисто како и во методот Додадете.

Така, постапката за вчитување податоци во нашиот пример може да изгледа вака:

155;=251;=203;=404;

var: збор;

започнеСерија 1 направи

започне;(A1, "Workshop 1", clYellow);(A2, "Workshop 2", clBlue);(A3, "Workshop 3", clRed);(A4, "Workshop 4", clPurple);

крај;. Јасно;. Јасно;

зајас: =0 до 100 направи

започне. AddXY (0.02*Pi*i, sin (0.02*Pi*i), "", clRed);. AddXY (0.02*Pi*i, cos (0.02*Pi*i), "", clBlue);

Ако имате, на пример, со оглед на податоците прикажани во графикон, две серии Серија 1И Серија 4различни типови - ПитаИ Бар, тогаш можете да воведете постапка која го менува типот на дијаграмот според барањето на корисникот. Оваа постапка може да се внесе во настан OnClickнекое копче, команда од менито или, на пример, едноставно обработување на кликнување на компонента Графикон. За да се вчитаат податоци во Серија 4и направете го овој дијаграм невидлив во првиот момент, можете да ги вметнете операторите на крајот од претходно дадената постапка

Додели (Серија 1); Активно: =неточно;

Првиот од овие оператори ги препишува податоците поставени во Серија 1, во серија Серија 4. И вториот оператор ја прави серијата невидлива Серија 4. Промената на типот на дијаграмот се врши со постапката

Активни: = неСерија 1. Активен;. Активни: = неСерија 4. Активен;

На сл. 4.8 б можете да го видите резултатот од префрлањето на корисникот на друг приказ на дијаграмот.

„Прикажување графички информации во Делфи“
План за тема:
1. Графички излезни методи
информации во Делфи.
2. Прикажи слики.
3. Геометриски приказ
фигури.

1. Методи за прикажување на графички информации.
Постојат неколку начини во Делфи
излез на графички информации:
Излез на претходно подготвен
слики (компоненти на сликата,
Форма);
Градење графикони и дијаграми
(компонента на графикон, итн.);
Слики
програмски (објект
Платно).

2. Прикажи слики.
Прикажување слики користејќи
Ја погледнавме компонентата Image во
една од претходните теми.
Овде ќе погледнеме пример
имплементација на едноставна анимација
со периодична промена
прикажана слика во
Компоненти на сликата.
Оди на пример.


Приказ на протозои
геометриски форми на формата
ја обезбедува компонентата Shape.

3. Приказ на геометриски форми.
Основни својства на компонентата Shape:
Четка
Пенкало
Облик
Боја (.Боја) и стил (.Стил) за
пополнување на фигурата.
Боја (.Боја), стил (.Стил), ширина
(.Width) и метод на излез (.Mode) на линии
фигури.
Вид на геометриска фигура.

3. Приказ на геометриски форми.
Од неколку компоненти на Форма
Можете да креирате едноставни цртежи.
Програмски менување на позицијата
(.Лево, .Горно) големина (.Ширина, .Висина) и
боја (Brush.Color) на Shape компоненти
во цртежот е можно да се имплементира
елементи на едноставна анимација.
Размислете за пример.

4. Изработка на графикони и дијаграми.
Дијаграмите се за
повеќе визуелно претставување
низи нумерички податоци, нивни
визуелен приказ и анализа.
Пример.
За да креирате дијаграми во Делфи
има неколку компоненти
една од нив е компонентата Графикон (дел
TeeChart Std).

4. Изработка на графикони и дијаграми.
Поглед на компонентата Графикон по неа
Поставки на формуларот:

4. Изработка на графикони и дијаграми.
Во прилог на објект инспектор, пристап до
својства на компонентата Графикон може да биде
добие со отворање на посебен прозорец
дијалог (десно копче на компонентата \
Уреди графикон...)
Додадете
серии на податоци
Променете го типот
дијаграми

4. Изработка на графикони и дијаграми.
Избор на тип на графикон:

4. Изработка на графикони и дијаграми.
Поставување својства за координатни оски
(Оска):

4. Изработка на графикони и дијаграми.
Податоците за прикажување обично се
префрлени на графикон програмски,
пример:
Series1.Clear; (чиста серија)
за i:=1 до N направи
Series1.addxy(i, A[i], '', clGreen);
Вредност по
X оска
Вредност по
Y оска
Потпис
X оска
Боја на податоци
на дијаграмот
Размислете за пример за изградба
график на функцијата y = Sin(x)

Понатаму:
Лабораториска работа № 13.1.
„Прикажување слики и геометриски
фигури, нивната анимација“.
Вежба:
1) Развијте апликација за имплементација
наједноставна анимација по периодична
ја менува прикажаната слика во
Компоненти на сликата. (Бројот на слики не е
помалку од три, изберете слики
сам).

Вежба:
2) Дојдете и нацртајте слика од
Компоненти на обликот. Програмски
менување на положбата, големината или бојата
Обликувајте ги компонентите во цртеж
имплементираат елементи од наједноставните
анимација.

Понатаму:
Лабораториска работа бр.13.2.
„Градење графикони и дијаграми“.
Вежба:
1) Изменете ја апликацијата од
лабораториска работа бр. 9 (Екран
податоци во табелата). Додадете можност
прикажување на некои податоци од табелата
на хистограм или пита шема.
2) Конструирај график на дадената функција.


Врв