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

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

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

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

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

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

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

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

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

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

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

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

боја:Tcolor - боја на линијата (црна по дифолт)

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

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

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

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

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

стил- украс за четка, може да ги земе следните вредности:

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

BsClear - без пополнување

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

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

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

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

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

BsCross - ќелија

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

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

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

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

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

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

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

PenPos:Tpoint - моменталната позиција на невидливиот курсор на платното

Коментар : Тип 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 px во средината на обликот.

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).

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

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

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

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

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

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

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

Canvas.TextOut(10, ClientHeight-24, 'SIN(X) функциски график');

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

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

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

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

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

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

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

Главна својства :

автоматска големина:boolean - ако е точно, компонентата ја прилагодува својата големина на големината на вчитаната слика; неточно по дифолт.

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

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

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

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

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

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

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

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

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

Со PaintBox1.Canvas do

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

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

крај;

КомпонентаBitBtnкопче битмапа

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

Задача број 1

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

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

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

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

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

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

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

Задача број 2

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

Корисникот мора да ги внесе димензиите на компонентата 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

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

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

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

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

X - избира по случаен избор, користејќи Случајни функцииа компонентата Уреди треба да ја прикаже вредноста на X.

Задача број 18

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

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

На пример, можете да ја промените бојата на форма како оваа:

form1.Color:= ColorBox1.Colors;

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

Табела 6

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

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

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

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

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

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

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

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

Слика на компонента платно DrawGrid и StringGridкако на платно на која било компонента, таа е предмет на бришење кога прозорецот на апликацијата е преклопен со други прозорци или, на пример, кога апликацијата е минимизирана.

Удобен начин за внесување слики во ќелии DrawGridе да се користи управувач со настани OnDrawCell.Овие настани се случуваат за секоја ќелија на табелата во моментот на нејзиното повторно цртање. Заглавието на управувачот изгледа вака:

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

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

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

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

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

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

StSquare - квадрат;

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

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

StEllipse - елипса;

StCircle - круг.

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

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

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

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

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

AllowPanning - ја одредува способноста на корисникот да го скролува набљудуваниот дел од табелата за време на извршувањето со притискање на десното копче на глувчето. Можни вредности: п

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исто како и во методот Додадете.

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

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

Започнете со Seriesl

Додај (Al, "Продавница l", clYellow);

Додај (A2,"Дизајн 2", clBlue);

Додај (A3"Кат 3",clRed);

Додај (A4, Дизајн 4, clPurple); крај;

Series2.Clear; SeriesS.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);

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

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


“Displaying graphical information in Delphi” Theme plan: 1.С С pppp oooo ssss oooo bbbb yyyy v v vyyyy vvv oooo dddd aaaa yy grrrr aaaa ffff iiiii hhhh eeee ssss kkkk oooo yyy yiii nnnn ffff ooooh rrrr mm dddd eeeee llll pppp hhhh iiii O O tttt ooooh bbbb rrrrhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhy yeeee oooo mmmm eeee tttt rrrr iii ddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaammmmmmmm....


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


2.Прикажи 2.Прикажи слики. Приказот на сликите со помош на компонентата Image што ја испитавме во LLC DDDDD DDDD LLC Yiyy и и и ZZZZ P P P P P PRRRDDDDDDDDDDDD IIII XXXX T T T T T T T T T TOTEMMM .... Овде ќе разгледаме пример за имплементација наједноставната анимацијасо периодично менување на прикажаната слика во компонентите Image. PPPP EDURRRREEEE YYYE TTTT IIII n N N n AAAAAA PP PRRR IIII MMMMEEEE RRRRR ...






3. Приказ 3. Приказ на геометриски форми. И можете да креирате едноставни цртежи од неколку компоненти на Shape. P Програмски менувајќи ја позицијата (.Лево,.Горно), големината (.Ширина,.Висина) и бојата (Четка.Боја) на компонентите Shape на сликата, можете да имплементирате елементи од наједноставната анимација. Р Р Р аааа сссссссс мммм ооо ттт ррр ееее ттт б пп пп ррр иииии мммм ееее ррр...


4. Конструкција 4. Изработка на графикони и графикони. Дијаграмите се наменети за повизуелно прикажување на низи нумерички податоци, нивно визуелно прикажување и анализа. RRRR iiiiii mmmm eeee rrrr.... Постојат неколку компоненти за исцртување графикони во Delphi, една од нив е компонентата Chart (дел TeeChart Std).










Графикони и дијаграми. Податоците за прикажување обично се пренесуваат на графиконот програмски, на пример: Series1.Clear; (чиста серија) за i:=1 до N do Series1.addxy(i, A[i], clGreen); X-axis value Y-axis value X-axis label Data color on the chart rrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaathat that is that is rrrrrrrrrrrr y y y y y y y y y y y y y = = = = S S S S iiii nnnn ((((xxxx))))


Next: Laboratory work """" OOOO tttt oooo bbbb rrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!;aaaaaaaaaaaaaaaaaaaaaaa have been XXXX FFFF IIII GGGG UUUU Rrrr, and and XXXXX A A A A ANNNNNNNNNNE MMMM AAAAA AAAAA IIIIIAIA ”” ”” ”” .... Task: 1) develop апликацијата за изведба на наједноставната анимација со периодично менување на прикажаната слика во компонентите на сликата. (Бројот на слики е најмалку три, самите изберете ги сликите).




Следно: Лабораториска работа """" PPPP oooo ssss tttt rrrr oooo eeee nnnn iiiiii eeee yy y gr rrrr aaaa ffff iii kkkk oooo vvvv i i dd dd iii AA mmrr aignament. Изменете ја апликацијата од лабораториска работа 9 (Прикажи податоци во табела). Додадете можност за прикажување на некои податоци од табелата на табела со ленти или пити. 2) Конструирај график на дадена функција.

Библиотеката за визуелни компоненти (VCL) Delphi ни ги обезбедува следните визуелни компоненти за прикажување графички информации: слика (слика), PaintBox (прозорец за цртање), DrawGrid (табела со слики), графикон (дијаграми и графикони), анимирање (излез на видео клипови ), како и Форма. Овие компоненти имаат својство Canvas (опишано погоре) кое дава пристап до секој пиксел. Се разбира, не мора да цртате пиксел по пиксел за да работите со графика во Delphi, системот Delphi обезбедува моќни алатки за работа со графика.

Ајде внимателно да ги разгледаме горенаведените компоненти:

Компонента на слика (слика)

Тоа е објект од класата TImage. Се користи за прикажување на слики прочитани од графички датотеки. Стандардно, на површината на формата прикажува слики претставени во формат *.bmp. За прикажување на слики во формат jpg, треба да го вклучите JPEG модулот во директивата за употреба. Се наоѓа во табот Дополнителни на Палетата на компоненти.

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

Слика 9 - Компонента на слика на формуларот

За да отворите дијалог за да ја изберете саканата слика, направете го следново користејќи го Инспекторот за објекти. За да го направите ова, пронајдете го својството Picture и кликнете на трите точки лево од него. Се отвора прозорецот Picture Editor и изберете Load in it, во прозорецот што се отвора изберете ја датотеката со слика.

Ова може да се направи и програмски со повикување на методот LoadFromFile од својството Picture:

Image1.Picture.LoadFromFile("name_pic.jpeg");

каде name_pic.jpeg е името на датотеката.

Табела 8 - Главни својства на компонентата Image

Имотот

Опис

Сликата прикажана во полето за компонента

Димензии на компонентите. Ако овие димензии се помали од големината на илустрацијата, а својствата Strech, AutoSize и Proportional се поставени на False, тогаш се прикажува дел од сликата

Ви овозможува автоматски да ги скалирате сликите без изобличување. За да се изврши скалирање, вредноста на својството AutoSize мора да биде False

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

Ви овозможува автоматски да ја менувате големината на компонентата за да одговара на големината на сликата

Ви овозможува хоризонтално да ја одредите положбата на сликата во полето на компонентата Image, ако ширината на сликата е помала од ширината на компонентата.

Површина за прикажување на графика

Ја одредува транспарентната боја на позадината на сликата

Пример 1: Напишете прегледувач на слики користејќи ја компонентата Image. Програмата мора да ги има следните карактеристики:

  • гледајте слики во папка;
  • Погледнете ја сликата во целосна големина или во формат што е најсоодветен за големината на прозорецот;
  • · управување со датотеки со слики, како и печатење, зачувување, бришење и менување слики;
  • доколку е потребно, отворете ја сликата во програмата за уредување;

Слика 10 - Прозорец на програмата пред нејзиното лансирање

Креирање на проект:

  • 1. Направете папка за програмските датотеки и стартувајте ја интегрираната развојна околина на Delphi.
  • 2. Додадете компоненти во формуларот:

Прво, на формуларот ќе ја поставиме компонентата Image, главната компонента со која ќе треба да работиме. Покрај него, потребни ни се следниве компоненти:

  • · ScrollBox Неопходно е кога е во режим со целосна големина сликата оди подалеку од Сликата. Ние ја доделуваме вредноста alClient на неговото својство Aling така што неговите димензии се менуваат пропорционално со големината на прозорецот. И ја поставуваме компонентата Image на неа;
  • · Ќе ги додадеме и компонентите за дијалог SavePictureDialog и OpenPictureDialog за зачувување и отворање на слики. Ни треба првиот да ја копира сликата во избраниот директориум, вториот - да го повика отворениот дијалог графичка датотека. Тие се наоѓаат на страницата Дијалози на Палетата на компоненти. Од оваа страница, ни треба и компонентата PrintDialog, која треба да ја наречеме дијалог за избор на печатач за печатење.
  • Да го додадеме MainMenu за да го додадеме главното мени на програмата и XPManifest за пошарен дизајн
  • · Исто така ни треба некаде да ги зачуваме имињата на сликите што се во работниот директориум. За овие цели, погодна е компонентата ListBox, која може да се скрие кога се обработува настанот Креирај од формуларот Form1.
  • · За поставување на копчињата за навигација и удобна работа со нив, да го додадеме панелот Veil, на кој ќе ги поставиме овие копчиња (Претходна слика, Следна слика, Вистинска големина, Прилагоди на големината, Избриши, Копирај во, Печати, Уреди). SpeedButton е избрано како компонента за нив.
  • · Додајте тајмер за да го фатите притискањето на копчињата „Лево“ (претходна слика), „Десно“ (следна слика) и копчето „Дел“ (избриши слика).
  • · И уште една компонента - ProgressBar, која го прикажува процесот на вчитување големи *.Jpg датотеки.
  • 3. Напишете го кодот за справување со настанот со кликнување на копчето (претходна слика, Следна слика, Вистинска големина, Прилагоди на големината, Избриши, Копирај во, Печати, Измени). Напишете го кодот за справување со настанот со кликнување на ставките од менито на Главното мени (Излез, Отвори, Затвори, Креирај).
  • 4. Поставете ги почетните поставки за креирање на формуларот. Двоен клик на слободен просторформирајте и напишете ја процедурата за код за процедурата TForm1.FormCreate(Sender:TObject), видете го кодот на модулот во Додаток 1.
  • 5. Напиши постапки од следната форма:

процедура FindFileInFolder(патека, ext: стринг);

Оваа постапка ја скенира папката патека за датотеки со маска ext.

Комплетна листа на кодови на програмскиот модул се наоѓа во Додаток 1 (Список на програми 3).

  • 1. Наведете ги можностите на компонентата Image.
  • 2. Кој објект од класа е компонентата Image?
  • 3. 3. Каков тип на датотека стандардно поддржува компонентата Image?
  • 4. 4. Наведете ги главните својства на компонентата Image.
  • 5. 5. Кое својство ја складира сликата на компонентата Image?

Опис на презентацијата на поединечни слајдови:

1 слајд

Опис на слајдот:

2 слајд

Опис на слајдот:

медиум на визуелното Делфи програмирање, како и Windows, поддржува GUIкорисник (GDI - Графички делфи интерфејс). Постојат два начини за прикажување на графички информации во Делфи: излез на претходно подготвени слики; цртање од програмата.

3 слајд

Опис на слајдот:

Првиот метод се заснова на користење на компонентите Image и Shape. Можете да користите готова слика (пиктограм) или сами да ги креирате користејќи го Уредувачот на слики. Вториот начин е да генерирате слики програмски користејќи го објектот Canvas.

4 слајд

Опис на слајдот:

Делфи има на располагање посебен објект, кој е стилизиран како својство на Canvas. Достапно е само додека апликацијата работи, така што може да се контролира само од програмата со пишување саканиот кодво јазикот Object Pascal. Ако некој објект има својство на Canvas, можете да цртате на неговата површина. Најпогодни кандидати за оваа улога се самата форма и специјалната компонента PaintBox.

5 слајд

Опис на слајдот:

Карактеристики на објектот на платно: Пенкало (пердув) - својство за цртање линии и граници на геометриски форми. Пенкалото ги следи командите на графичкиот курсор и, пак, има свои вгнездени својства: Боја - ја дефинира бојата на линијата (црна по дифолт); Режим - стил на цртање (има многу вредности што не се дадени овде); Стил – стил на линија, кој може да ги земе следните вредности: psSolid – солиден (по дифолт); psDosh - испрекината линија; psDot - линија со точки; psDoshDot - цртичка со точки (и други својства); Widh - дебелина на линијата (стандардно 1 пиксел);

6 слајд

Опис на слајдот:

Четка (Brush) - својство за пополнување форми кои ги имаат следните вгнездени својства: Боја - боја на четка (стандардно - бела); Стил - украс со четка, кој може да ги земе следните вредности: bsClear - цврста боја; бХоризонтални - хоризонтални линии; бВертикални - вертикални линии; bsFDiagonal - леви дијагонални линии; bsBDiagonal - десни дијагонални линии; bsCross - ќелија; bsDiagCross - коси ќелија;

7 слајд

Опис на слајдот:

Фонт (Фонт) - својство за прикажување текст, кое ги има следните вгнездени својства: Боја - бојата на знаците; Висина - висина на фонтот во пиксели; Име – име на фонт; Големина - големина на фонтот; Стил - стил на фонт, кој може да ги земе следните вредности: fsBold - задебелен; fsИталик - курзив fsПотвлече - подвлечено fsStrikeOut - пречкртано;

8 слајд

Опис на слајдот:

PenPos (Положба на пенкало) - својство за зачувување на моменталната положба на цртање (ја дефинира позицијата на пенкалото во областа за цртање во овој моментвреме); Пиксели - својство на низа за пишување и читање на координатите на поединечните точки на областа за цртање („платно“).

9 слајд

Опис на слајдот:

Методи на објектот Canvas MoveTo(x,y: цел број) – го поместува пенкалото од моменталната позиција до точката со дадените x, y координати без цртање линија; LineTo(х.у: цел број) - го поместува пенкалото од моменталната позиција до точката со дадените x, y координати, цртајќи права; Лак(x1, y1, x2, y2, x3, y3, x4, y4: цел број) - црта лак на елипса впишан во правоаголник со координати (x1, y1) и (x2, y2). Лакот се одредува со радиусите на елипсата што минува низ точките (x3, y3) и (x4, y4);

10 слајд

Опис на слајдот:

Акорд (x1, y1, x2, y2, x3, y3, x4, y4: цел број) – црта елипса како што е опишано за методот Arc; Елипса(x1, y1, x2, y2: цел број) - црта елипса впишана во правоаголник со горниот лев агол во точката (x1, y1) и долниот десен агол во точката (x2, y2); FillRect (Rect (x1, y1, x2, y2: цел број)) - го пополнува правоаголникот со бојата наведена во тековната четка (Четка). Ја користи функцијата Rect, која претставува правоаголник на дадените координати;

11 слајд

Опис на слајдот:

FloodFill(x,y: цел број; Боја: TColor; FillStyle: TFillStyle) - пополнување со тековната боја наведена во својството Brush: со FillStyle=fsBorder - затворена област од точката со x, y координати до границата дефинирана со Боја на боја; со FillStyle=fsSurface – таа област на површината што ја има бојата Боја; Пита(x1, y1, x2, y2, x3, y3, x4, y4: цел број) - црта сектор на елипса впишан во правоаголник со координати (x1, y1) и (x2, y2). Секторот е дефиниран со два елипсови радиуси кои минуваат низ точките (x3, y3) и (x4, y4);

12 слајд

Опис на слајдот:

Polyline (Points: array of TPoint) – црта полилинија со последователно поврзување на точките од низата Points; Многуаголник (Points: низа од TPoint) - црта многуаголници со секвенцијално поврзување на точките од низата Points. Се разликува од методот Polyline по тоа што автоматски го поврзува крајот на полилинијата со неговиот почеток; Правоаголник (x1, y1, x2, y2: цел број) - црта правоаголник со горниот лев агол во точката (x1, y1) и долниот десен агол во точката (x2, y2);

13 слајд

Опис на слајдот:

Retresh – методот се повикува кога сликата треба повторно да се нацрта; RoundRect (x1, y1, x2, y2, x3, y3: цел број) - Црта правоаголник со заоблени агли. Аглите се нацртани како четвртини од елипса со x3 ширина и y3 висина; TextOut (x, y:цел број, Text:String) - излез на текстот наведен во параметарот Text. Текстот се вклопува во правоаголник чиј горен лев агол има x, y координати.




Врв