Komponent na zobrazovanie grafických informácií v delphi. Prezentácia na tému "Zobrazovanie grafických informácií v Delphi." Stručné informácie z teórie

Práca s grafikou v Delphi to nie sú len čiary a kresby, ale aj tlač textové dokumenty. Preto v Delphi v práci s grafikou musíte stráviť trochu času. Pracovať s grafika v Delphi zahŕňa prístup na plátno - vlastnosť Canvas komponentov. Plátno Delphi toto je plátno, ktoré umožňuje programátorovi mať prístup ku každému z jeho bodov (pixelov) a ako umelec zobraziť, čo je potrebné. Samozrejme, kresliť pixel po pixeli pre práca s grafikou v Delphi nie je potrebné, systém Delphi poskytuje výkonné grafické nástroje, čím sa zjednoduší úloha programátora.

Pri práci s grafikou v Delphi má programátor k dispozícii osnovu (canvas, canvas - property Plátno Delphi komponenty), ceruzka (majetok Pero), štetec (vlastnosť Brush) komponentu alebo objektu, na ktorý sa má maľovať. Pri ceruzke Pero a štetce Kefa môžete zmeniť farbu (vlastnosť Farba) a štýl (vlastnosť Štýl). Prístup k písmam poskytuje vlastnosť canvas Písmo. Tieto nástroje vám umožňujú zobraziť text aj pomerne zložité grafy matematického a inžinierskeho obsahu, ako aj výkresy. okrem toho práca s grafikou vám umožňuje používať takéto zdroje v Delphi Windows ako grafické a video súbory.

Samozrejme, nie všetky komponenty v Delphi majú tieto vlastnosti. Na karte Dodatočné sa nachádza špecializovaný komponent TImage, špeciálne určený na kreslenie, ale aj majetok Plátno majú napríklad komponenty ako ListBox, ComboBox, StringGrid, ako aj samotný formulár, ktorý umiestňuje naše komponenty! Okrem toho, ak chcete tlačiť dokumenty, Delphi pristupuje k vlastnosti Canvas objektu, ako je tlačiareň.

Hlavnou vlastnosťou takého objektu, akým je Canvas Delphi, je pixelov typu TColor, teda ide o dvojrozmerné pole bodov (pixelov) určených ich farbou. Kreslenie na plátno nastáva v momente priradenia danej farby ľubovoľnému bodu na plátne. Každému pixelu možno priradiť ľubovoľný dostupný pre Farba okien. Napríklad vykonanie príkazu

Image1.Canvas.Pixels:=clRed;

Výsledkom bude nakreslenie červenej bodky so súradnicami. Farbu pixelu môžete zistiť inverzným priradením:

Farba:=Image1.Canvas.Pixels;

Typ TColor definované ako dlhé celé číslo (LongInt). Jeho štyri bajty obsahujú informácie o pomeroch modrej (B), zelenej (G) a červenej (R). V šestnástkovej sústave vyzerá to takto: $00BBGGRR. Podiel každej farby sa môže meniť od 0 do 255. Preto, aby sa zobrazil maximálny červený bod, je potrebné priradiť farba $000000FF.
Pre štandardné farby v Delphi je definovaný súbor textových konštánt. Môžete to vidieť otvorením vlastnosti Color, napríklad toho istého formulára v Inšpektore objektov.

Nasledujúca tabuľka obsahuje niektoré vlastnosti a metódy plátna:

Procedúra TextOut(X, Y: Integer; konšt Text: WideString);
Vytvára výstup reťazca Text začínajúce od (X, Y) - ľavý horný pixel textu.
Vlastnosť TextWidth( var Text: String): Integer;
Obsahuje dĺžku šnúrky Text v pixeloch.
Vlastnosť TextHeight( var Text: String): Integer;
Obsahuje výšku riadku Text v pixeloch.
Procedure MoveTo(X, Y: Integer);
Presunie pozíciu na pixel s adresou (X, Y).
Procedúra LineTo(X, Y: Integer);
Nakreslí priamku z bodu aktuálnej polohy k pixelu s adresou (X, Y). Adresa (X, Y) sa stane bodom aktuálnej pozície.
Postup FillRect( konšt Rect: TRect);
Vyplní obdĺžnik Rect na plátno pomocou aktuálneho štetca. Dá sa použiť okrem iného na vymazanie časti obrazu na plátne.

Napíšme, len pomocou týchto metód plátna, aplikáciu pre obrázok na plátne komponentu Obrázok text, ktorý sa zadáva do komponentu Memo:

Prvá vec, ktorú urobíme, je inicializácia premenných pri spustení programu. Je potrebné určiť veľkosť kresliacej plochy (na to vytvoríme globálnu premennú Rect typu TRect) a nastaviť farbu pozadia Obrázok biely:

postup TForm1.FormCreate(Sender: TObject);
začať
Rect.Left:=0;
Rect.Top:=0;
Rect.Right:=Image1.Width;
Rect.Bottom:=Image1.Height;
Image1.Canvas.Brush.Color:=clWhite;
koniec;

Potom nakreslite rám po stranách obrázka:

postup TForm1.page;
začať
s Obrázok1.Plátno robiť
začať
MoveTo(0, 0);
LineTo(Image1.Width-1, 0);
LineTo(Obrázok1.Šírka-1, Obrázok1.Výška-1);
LineTo(0, Image1.Height-1);
LineTo(0, 0);
koniec;
koniec;

Skúsme, čo sa stalo. Všetko funguje, ale rám sa zatiaľ nezobrazuje. Pridajme preto postup stránku v postupe FormCreate. Teraz je to krásne. Ďalej si napíšeme jednoduchý postup vymazanie, vymazanie obrázku. Bude potrebné ho zavolať pred akoukoľvek aktualizáciou obrázka, inak sa predchádzajúce a nasledujúce obrázky budú prekrývať.

postup TForm1.clearing;
začať
Image1.Canvas.FillRect(Rect); //Obdĺžnik Rect sa vyplní bielou farbou a obrázok sa vymaže.
koniec;

Teraz je rad na samotnej procedúre výstupu textu. Začnime kresliť text od bodu (3, 3) - ľavého horného rohu listu, s miernym odsadením 3 pixelov. Každý nasledujúci riadok bude posunutý o výšku riadku:

postup TForm1.prn;
var i: celé číslo;
začať
s Obrázok1.Plátno robiť
pre i:=1 do Memo1.Lines.Count robiť
TextOut(3, 3+(i-1)*TextHeight("A"), Memo1.Lines);
koniec;

Teraz je všetko pripravené na výstup textu. Urobíme to pomocou udalosti OnChange:

postup TForm1.Memo1Change(Sender: TObject);
začať
zúčtovanie;
prn;
stránka;
koniec;

A nakoniec postup na zmenu veľkosti písma:

postup TForm1.Edit1Change(Sender: TObject);
začať
Memo1.Font.Size:=UpDown1.Position;
Image1.Canvas.Font.Size:=UpDown1.Position;
Memo1Change(Sender);
koniec;

Tento program môžete upraviť na tlač textu. Pre prácu s tlačiarňou je potrebné pripojiť modul Tlačiarne:

jednotka Lekcia 1;

Rozhranie

používa
Windows, Správy, SysUtils, Varianty, Triedy, Grafika, Ovládacie prvky, Formuláre,
Dialógové okná, StdCtrls, Tlačiarne ;

Pri práci s tlačiarňou ako plátnom sa metóda zavolá na spustenie tlače BeginDoc, potom sa dokument vytlačí, tlač sa dokončí volaním metódy EndDoc:

Printer.BeginDoc;
s Tlačiareň.Plátno robiť
začať
...Vytlačiť dokument...
koniec;
Printer.EndDoc;

Šírka a výška pásu tlačiarne sú dostupné prostredníctvom vlastností Printer.PageWidth A Printer.PageHeight. Pomocou tejto metódy môžete dokončiť tlač na jednu stranu a začať tlačiť na druhú Tlačiareň.NováStránka.

Zoznam komponentov displeja grafické informácie

Na zobrazenie grafických informácií poskytuje knižnica Delphi komponenty, ktorých zoznam je uvedený v tabuľke 4.1.

Tabuľka 4.1 Prvky grafického informačného displeja Piktogram

Komponent

Stránka

Popis

Obrázok

Používa sa na zobrazenie grafiky: ikony, bitmapy a metasúbory.


PaintBox (okno na kreslenie)

Používa sa na vytvorenie určitej oblasti na formulári, do ktorej môžete kresliť.


DrawGrid (tabuľka výkresov)

Používa sa na zobrazenie netextových údajov v riadkoch a stĺpcoch.


Graf (grafy a grafy)

Komponent patrí do rodiny komponentov TChart, ktoré sa používajú na vytváranie tabuliek a grafov.


Okrem toho môžete zobraziť a zadať grafické informácie na povrchu ľubovoľnej grafiky Display na plátne.

Plátno Plátno nie je súčasťou, takže prísne vzaté by sa nemal považovať za súčasť tejto knihy. Ale keďže mnohé komponenty, najmä formuláre, majú obrys a obrys poskytuje možnosť zobraziť rôzne grafické informácie, stále je vhodné poskytnúť nejaké počiatočné informácie o obryse.

Plátno je oblasť komponentu, na ktorú môžete kresliť alebo zobrazovať hotové obrázky. Obsahuje vlastnosti a metódy, ktoré výrazne zjednodušujú grafiku Delphi. Všetky zložité interakcie so systémom sú pre používateľa skryté, takže v Delphi môže kresliť aj človek, ktorý nie je vôbec skúsený v počítačovej grafike.

Každý bod obrysu má súradnice X A Y. Súradnicový systém plátna, rovnako ako inde v Delphi, má svoj pôvod v ľavom hornom rohu plátna. Koordinovať X sa zvyšuje pri pohybe zľava doprava a súradnica Y- pri pohybe zhora nadol. Súradnice sa merajú v pixeloch. Pixel je najmenší prvok povrchu dizajnu, s ktorým možno manipulovať. Najdôležitejšou vlastnosťou pixelu je jeho farba.

Plátno má vlastnosť pixelov. Táto vlastnosť je dvojrozmerné pole, ktoré je zodpovedné za farby plátna. Napríklad, Plátno. pixelov zodpovedá farbe pixelu 10. zľava a 20. zhora. S poľom pixelov môžete zaobchádzať ako s akoukoľvek vlastnosťou: zmeniť farbu pridelením novej hodnoty pixelu alebo určiť jeho farbu z hodnoty, ktorá je v ňom uložená. Napríklad, Plátno. Pixely:=0 alebo Plátno. Pixely:=clBlack- toto je nastavenie pixelu na čiernu.

Nehnuteľnosť pixelov možno použiť na kreslenie na plátno. Skúsme na obrys formulára nakresliť graf sínusoidy pixel po pixeli. Ak to chcete urobiť, v obslužnom programe udalosti formulára OnPaint(nákres) môžete vložiť nasledujúci kód:

TForm1. FormPaint(Sender: TObject);

var,Y:skutočné; // súradnice funkcie,PY: longint; // súradnice pixelov

začať:=clBiela;

pre PX:=0 do ClientWidth robiť

(X je argument grafu,

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

(PY - pixelová súradnica,

: =trunc (Výška klienta - (Y+1) *Výška klienta/2);

(Nastaví farbu vybranej položky

pixel (o jase). Pixely: = 0;

koniec;

Spustite túto testovaciu aplikáciu a výsledok uvidíte na obrázku 4.1 a. Sínusový graf dopadol, aj keď nie veľmi dobre, pretože je rozdelená na jednotlivé body – pixely.

Canvas - objekt triedy TCanvas má veľa metód, ktoré vám umožňujú kresliť grafy, čiary, tvary pomocou vlastnosti Pero- pierko. Táto vlastnosť je objekt, ktorý má zase množstvo vlastností. Jednou z nich je nehnuteľnosť, ktorú už poznáte Farba- farba, ktorou je kresba aplikovaná. Druhá nehnuteľnosť - šírka(šírka čiary). Šírka je uvedená v pixeloch. Predvolená šírka je 1.

Nehnuteľnosť Štýl určuje typ linky. Táto vlastnosť môže nadobúdať nasledujúce hodnoty:

Plátno má vlastnosť PenPos typu TPoint(cm .). Táto vlastnosť určuje aktuálnu polohu pera v súradniciach plátna. Pohyb pera bez nakreslenia čiary, t.j. zmeniť PenPos, vyrobené plátennou metódou MoveTo(X,Y). Tu ( X, Y) - súradnice bodu, do ktorého sa pero pohybuje. Tento aktuálny bod sa stáva východiskovým bodom, z ktorého metóda LineTo(X,Y) môžete nakresliť čiaru k bodu so súradnicami ( X,Y). V tomto prípade sa aktuálny bod presunie na koncový bod linky a nový hovor LineTo vytiahne bod z tohto nového aktuálneho bodu.

Skúsme nakresliť sínusový graf z predchádzajúceho príkladu perom. V tomto prípade obslužný program udalosti formulára OnPaint môže vyzerať takto:

postup TForm1. FormPaint(Sender: TObject);

var,Y:skutočné; // súradnice funkcie,PY: longint; // súradnice pixelov

začať: =clWhite;. MoveTo(0,ClientHeight div 2);

pre PX: =0 do ClientWidth robiť

(X je argument grafu,

zodpovedajúce pixelu so súradnicou РХ):=PX*4*Pi/ClientWidth;:=Sin(X);

(PY - pixelová súradnica,

zodpovedajúce súradnici Y):=trunc(Výška klienta - (Y+1) *Výška klienta/2);

(na grafe je nakreslená čiara). LineTo(PX,PY);

Výsledok aplikácie v tejto verzii môžete vidieť na obr. 4.1 b. Ako môžete vidieť, kvalita grafiky sa výrazne zlepšila.

Pero dokáže kresliť nielen rovné čiary, ale aj tvary. Úplný zoznam metód plátna, ktoré používajú pero, nájdete v vstavanom pomocníkovi Delphi. Zatiaľ ako príklad uvedieme iba jeden z nich - Elipsa, ktorý kreslí elipsu alebo kruh. Vyhlasuje sa ako

postup Elipsa(X1, Y1, X2, Y2: celé číslo);

kde su parametre X1, X2, Y1, Y2 určiť súradnice obdĺžnika opisujúceho elipsu alebo kružnicu. Napríklad operátor

Elipsa(10, 40, 20, 50);

nakreslí kruh s priemerom 10 a stredovými súradnicami (15, 45).

Vo všeobecnom prípade sa obrázky nekreslia prázdne, ale vypĺňajú sa pomocou vlastnosti canvas Kefa- kefa. Nehnuteľnosť Kefa je objekt, ktorý má zase množstvo vlastností. Nehnuteľnosť Farba určuje farbu výplne. Nehnuteľnosť Štýl definuje vzor výplne (tienenie). Predvolená hodnota Štýl rovná sa bsSolid, čo znamená pevné sfarbenie Farba.

Pri pere Pero Je tu ešte jedna nehnuteľnosť, o ktorej sme ešte neuvažovali. Táto nehnuteľnosť je Režim(režim). Predvolená hodnota Mode = pmCopy. To znamená, že čiary sú nakreslené farbou špecifikovanou vo vlastnosti Farba. Možné sú ale aj iné režimy, v ktorých sa neberie do úvahy len farba Farba, ale aj farbu zodpovedajúcich pixelov pozadia. Najzaujímavejší z týchto režimov je pmNotXor- sčítanie s pozadím pomocou inverzného exkluzívneho OR. Ak je tento režim nastavený, nakreslením tej istej figúry na rovnaké miesto na plátne sa odstráni predtým nakreslený obrázok a obnovia sa farby pixelov, ktoré boli pred prvým obrázkom figúry.

Táto funkcia režimu pmNotXor možno použiť na vytváranie jednoduchých animácií. Stačí niečo nakresliť, potom to, čo ste nakreslili, vymazať, prekresliť mierne zmenené - a kresba akoby ožila.

Skúste si sami vytvoriť jednoduchú animáciu – pohyblivý kruh. Spustite novú aplikáciu a prejdite na implementáciu vložiť inzerát

X,Y: celé číslo;

Tým sa zavedú globálne premenné X A Y- aktuálne súradnice snímky.

Vo formulári udalosť OnPaint vložiť príkazy

Kefa. Farba:=clWhite;:=clWhite;. Pero. Režim:=pmNotXor;

Prvý z týchto operátorov nastaví farbu štetca na bielu Kefa. To znamená, že váš kruh bude vo vnútri natretý bielou farbou. Druhý operátor nastaví farbu pozadia povrchu formulára na bielu.

Tretí operátor nastavuje režim pera pmNotXor, čo vám umožní vymazať starý obrázok pred nakreslením nového.

Aj tá najjednoduchšia animácia potrebuje synchronizáciu. V opačnom prípade bude rýchlosť pohybu určená rýchlosťou počítača. Preto komponent preneste do formulára Časovač- časovač zo stránky Systém. Tento komponent je popísaný v časti 5.7 .

Môžete si to tam pozrieť Detailný popis. Zatiaľ nastavte jeho vlastnosť Interval rovná sa napríklad 30 (toto je čas expozície v milisekundách, ale reálny čas rýchlosť uzávierky bude dlhšia - pozri časť 5.7) a nastavte vlastnosť Povolené rovný falošné(to znamená, že časovač sa nespustí automaticky pri spustení aplikácie).

V obsluhe udalosti tohto komponentu Časovač zapnutia vložiť príkazy

// Vymazanie predchádzajúceho obrázku. elipsa (X-5, Y, X+5, Y-1Q); (X);

// Nakreslite nový obrázok. elipsa (X-5, Y, X+5, Y-10);

// Zastaviť pri dosiahnutí konca formulára

ak(X >= ClientWidth-20) potom. Povolené: = false;

Prvý z týchto operátorov nakreslí kruh v mieste, kde bol nakreslený skôr, t.j. vymaže predchádzajúci obrázok.

Posledný operátor zastaví obrázok na okraji formulára.

Teraz pridajte tlačidlo do formulára Tlačidlo a umiestnite naň operátory v obslužnom programe kliknutia

X: = 10;: = 100;. Elipsa (X-5, Y, X+5, Y-10); Povolené: =true;

Prvé dva operátory určujú počiatočné súradnice kruhu. Tretí operátor nakreslí kruh v jeho počiatočnej polohe a štvrtý operátor spustí časovač.

Vysielajte aplikáciu, spustite ju, kliknite na tlačidlo. Uvidíte obrázok kruhu, ktorý sa pohybuje po tvare zľava doprava. A potom použite svoju fantáziu a premeňte túto nie veľmi zaujímavú aplikáciu na niečo vzrušujúcejšie.

Na plátne je možné zobraziť nielen programovo vytvorené obrázky, ale aj obrázky uložené v grafických súboroch. Len samotné plátno nemá metódu na načítanie obrázku zo súboru. Preto musí byť súbor načítaný do nejakého iného grafického objektu, ktorý môže prijímať informácie z grafických súborov. A potom prepíšte obrázok z tohto objektu na plátno pomocou metódy plátna Kresliť. Jeho popis:

Draw(X, Y: Integer; Graphic: TGraphic);

Tu sú parametre X A Y určiť súradnice ľavého horného rohu umiestnenia obrazu na plátne, a Grafický- predmet uchovávajúci informácie. Takýmto objektom môže byť napríklad objekt typu TBitMap, určený na ukladanie bitových matíc. Pozrime sa, ako to celé vyzerá v praxi.

Otvorte novú aplikáciu, presuňte komponent do formulára OpenPictureDialog zo stránky Dialógy (ide o súčasť dialógového okna na otváranie grafických súborov – pozri časť 8.2 ) a tlačidlo Tlačidlo. Miesto OpenPictureDialog kdekoľvek vo formulári, keďže tento komponent je nevizuálny, a tlačidlo umiestnite do spodnej časti formulára. Pridajte nasledujúci kód do obslužného programu kliknutia na tlačidlo:

postup TForm1. Button1Click(Sender: TObject);

var: TBitMap;

// Výber používateľa grafický súbor

ak OpenPictureDialog1. Vykonať potom

// Vytvorenie objektu BitMap typu TBitMap: =TBitMap. Vytvorte;

// Preneste obrázok na plátno formulára. Draw(10, 10, BitMap);

//Zničenie objektu BitMap. Zadarmo;

koniec;

Tento kód vytvorí dočasný objekt typu TBitMap S menom Bitová mapa. Potom sa zavolá dialóg na otvorenie grafického súboru OpenPictureDialog1 a ak používateľ vybral súbor, stiahne sa do Bitová mapa metóda LoadFromFile. Potom pomocou metódy Kresliť načítaný obrázok sa skopíruje na plátno v oblasti so súradnicami ľavého horného rohu (10,10). Po tomto dočasný objekt Bitová mapa je zničený.

Spustite aplikáciu a kliknite na jej tlačidlo. Uvidíte, že môžete nahrať akýkoľvek typ grafického súboru. bmp a zobrazí sa na obryse formulára (pozri obr. 4.2 a). Grafické súbory nájdete v adresári Images. V Delphi 5 a 4 sa zvyčajne nachádza v adresári. \program files\Common Files\Borland Shared. V Delphi 3 sa nachádza v adresári. \program files\Borland\Delphi 3, a v Delphi 1 - v adresári Delphi 16. V adresári Images sa nachádza najmä podadresár \Images\Splash\16Color\, v ktorom je uložený súbor načítaný v príklade na Obr. 4.2

Vytvorili ste dobrú aplikáciu na prezeranie grafických súborov. Ale teraz sa skúsme pozrieť na jeho hlavnú nevýhodu. Bez zatvorenia aplikácie prejdite do iného programu, napríklad sa vráťte do Delphi. Potom, bez toho, aby ste tam čokoľvek urobili, sa vráťte späť do spustenej aplikácie. Ak okno programu, do ktorého ste prešli, úplne zablokovalo okno vašej aplikácie, potom keď sa doň vrátite, uvidíte, že obrázok v okne zmizol. Ak sa okno vašej aplikácie prekrývalo len čiastočne, potom keď sa vrátite do aplikácie, môžete vidieť výsledok podobný tomu, ktorý je znázornený na Obr. 4.2 b.

Vidíte, že ak okno inej aplikácie dočasne prekrýva okno vašej aplikácie, potom je obrázok nakreslený na obryse formulára pokazený. Pozrime sa, ako môžeme túto nevýhodu odstrániť.

Ak bolo okno zablokované a obraz sa poškodil, operačný systém oznámi aplikácii, že sa v prostredí niečo zmenilo a že by aplikácia mala podniknúť príslušné kroky. Akonáhle je potrebná aktualizácia okna, vygeneruje sa preň udalosť OnPaint. V obslužnom programe tejto udalosti (v našom prípade udalosti formulára) je potrebné prekresliť obrázok.

Je možné vykonať prekreslenie rôzne cesty v závislosti od aplikácie. V našom príklade by bolo možné deklarovať premennú Bitová mapa(operátor var BitMap: TBitMap) nad rámec vyššie uvedeného postupu, t.j. urobte túto premennú globálnou umiestnením priamo do sekcie implementáciu. Operátor Bitová mapa. zadarmo možno presunúť do obsluhy udalosti formulára OnDestroy, ktorá nastane pri zatvorení aplikácie. Potom počas celého vykonávania vašej aplikácie budete mať kópiu obrázka v komponente Bitová mapa a stačí vstúpiť do obsluhy udalosti OnPaint vo forme je len jeden operátor:

Draw(10, 10, BitMap);

Urobte to a uvidíte, že obrázok na formulári sa nezhorší v dôsledku akéhokoľvek prekrývania okien.

Okrem uvažovanej metódy Kresliť osnova má aj metódu kopírovania CopyRect:

CopyRect(Cieľ: TRect; Canvas: TCanvas; Zdroj: TRect);

Metóda skopíruje zadaný parameter Zdroj oblasť obrázka na plátne zdroja obrázka Plátno na zadaný parameter Dest oblasť tohto plátna. Typ TRect, charakterizujúce pravouhlé oblasti Zdroj A Dest, už popísané v časti 3.2 .

Napríklad operátor

CopyRect(MyRect2, Bitmap. Canvas, MyRect1);

skopíruje do obrysu formulára v oblasti MyRect2 obrázok z oblasti MyRect1 komponentné plátno Bitová mapa.

Metóda kopírovania CopyRect sa vykonáva v režime určenom vlastnosťou CopyMode. Štandardne má táto vlastnosť hodnotu cmSrcCopy, čo jednoducho znamená nahradiť obrázok predtým obsiahnutý v oblasti Dest, na skopírovaný obrázok. Ďalšie možné hodnoty CopyMode umožňujú kombinovať obrázky, ale ich zohľadnenie presahuje rámec tejto knihy.

Obmedzíme sa len na tieto základné informácie o zobrazovaní grafických informácií na plátne. V časti 3.2 bola poskytnutá informácia o výstupe textu do osnovy. Vo všeobecnosti obrys - komplexný objekt, ktorý má oveľa viac vlastností a metód. To si však vyžaduje rozsiahlu diskusiu nad rámec tejto knihy. Ďalšia kniha zo série Všetko o Delphi bude tieto problémy podrobnejšie skúmať.

Komponent okna, ktorý má vlastnosť Plátno- plátno.

Komponenty Image a PaintBox

Komponenty Obrázok A PaintBox predstavujú určitú obmedzenú plochu s plátnom, na ktorú je možné písať obrázky, ako je popísané v časti 4.2 . V tomto prípade komponent PaintBox, prísne vzaté, neprináša nič nové v porovnaní s kreslením formy na plátno. Kresliť na PaintBox namiesto formy to nemá žiadne výhody, snáď okrem úľavy v usporiadaní jedného alebo viacerých kresieb v oblasti okna.

Ale okrem týchto schopností komponent Obrázok Existujú vlastnosti, s ktorými môžete pracovať rôzne druhy grafické súbory Podporuje tri typy súborov - bitové matice, ikony a metasúbory. Všetky tri typy súborov ukladajú obrázky; rozdiel je len v spôsobe, akým sú uložené v súboroch a v prostriedkoch prístupu k nim. Bitová matica (súbor s príponou . bmp) zobrazuje farbu každého pixelu na obrázku. V tomto prípade sú informácie uložené tak, že každý počítač môže zobraziť obrázok s rozlíšením a počtom farieb zodpovedajúcich jeho konfigurácii.

Piktogramy (súbory s príponou . ico) sú malé bitové matice. Sú široko používané na označenie ikon aplikácií, v rýchlych tlačidlách, v položkách menu, v rôznych zoznamoch. Spôsob ukladania obrázkov do ikon je podobný ukladaniu informácií do bitových matíc, sú tu však aj rozdiely. Ikona sa najmä nedá zmenšiť, zostáva vo veľkosti, v akej bola vytvorená.

Metasúbory neukladajú postupnosť bitov, z ktorých sa obrázok skladá, ale informácie o tom, ako bol obrázok vytvorený. Ukladajú sekvencie príkazov na kreslenie, ktoré sa môžu opakovať pri vytváraní obrázka. Vďaka tomu sú takéto súbory vo všeobecnosti kompaktnejšie ako bitové matice.

Komponent Obrázok umožňuje zobraziť informácie obsiahnuté v grafických súboroch všetkých špecifikovaných typov. To je dosiahnuté svojou vlastnosťou Obrázok- typ objektu TPobraz.

Obr.4.3 Okno editora obrázkov


Ak sa chcete s touto vlastnosťou zoznámiť, otvorte novú aplikáciu a presuňte komponent do formulára Obrázok. Roztiahnite ho alebo nastavte jeho vlastnosť Zarovnať rovný alClient tak, aby zaberal celú klientsku oblasť formulára. Kliknite na tlačidlo s elipsou vedľa nehnuteľnosti Obrázok v okne Object Inspector alebo jednoducho dvakrát kliknite na Obrázok. Pred vami sa otvorí okno Editor obrázkov (Obr. 4.3), ktoré vám umožní načítať objekt Obrázok nejaký grafický súbor (tlačidlo Načítať) a tiež uložte otvorený súbor pod novým názvom alebo do nového adresára. Kliknutím na tlačidlo Načítať načítajte grafický súbor. Zobrazí sa okno na otvorenie grafického súboru, znázornené na obr. 4.4 Pri pohybe kurzora v zozname grafických súborov sa v pravom okne zobrazujú obrázky, ktoré obsahujú, a nad nimi sú čísla charakterizujúce veľkosť obrázka. . Môžete si vybrať akýkoľvek požadovaný typ grafického súboru. Pripomeňme, že grafické súbory dodávané s Delphi nájdete v adresári Images. V Delphi 5 a 4 sa zvyčajne nachádza v adresári. \program files\Common Files\Borland Shared. V Delphi 3 sa nachádza v adresári. \program files\Borland\Delphi 3 a v Delphi 1 - v adresári Delphi 16. Po načítaní súboru kliknite na tlačidlo OK v okne Editor obrázkov a vo vašom komponente Obrázok Zobrazí sa vami vybraný obrázok. Môžete spustiť svoju aplikáciu a obdivovať ju. Obrázok však už vidíte aj bez toho, aby ste spustili aplikáciu.

Keď načítate obrázok zo súboru do komponentu počas procesu návrhu Obrázok, nielen zobrazí, ale aj uloží do aplikácie. To vám dáva možnosť doručiť vašu aplikáciu bez samostatného grafického súboru. Ako však uvidíme neskôr, v Obrázok Externé grafické súbory môžete načítať aj počas spustenia aplikácie.

Vráťme sa k vlastnostiam komponentov Obrázok.

Ak nastavíte vlastnosť Automatická veľkosť V pravda, potom veľkosť komponentu Obrázok sa automaticky prispôsobí veľkosti obrazu, ktorý je v ňom umiestnený. Ak nehnuteľnosť Automatická veľkosť nainštalovaný v falošné, potom sa obrázok nemusí zmestiť do komponentu alebo naopak, plocha komponentu môže byť oveľa väčšia ako plocha obrázka.

Ďalšia nehnuteľnosť - Natiahnuť umožňuje prispôsobiť nie komponent veľkosti obrazu, ale obraz veľkosti komponentu. Inštalácia Automatická veľkosť V falošné, natiahnuť alebo zmenšiť veľkosť komponentu Obrázok a nainštalovať Natiahnuť V pravda. Uvidíte, že výkres bude zaberať celú plochu komponentu, ale keďže je nepravdepodobné, že by reálne určil rozmery Obrázok presne úmerné veľkosti obrázka, bude obraz zdeformovaný. Inštalácia Natiahnuť V pravda môže mať zmysel len pre niektoré vzory, ale nie pre obrázky. Nehnuteľnosť Natiahnuť nemá vplyv na obrázky ikon, ktorých veľkosť sa nedá zmeniť.

Nehnuteľnosť - centrum, nastavený na pravda, vycentruje obraz na oblasť Obrázok, ak je veľkosť komponentu väčšia ako veľkosť obrázka.

Zoberme si ešte jednu vlastnosť - Transparentné(transparentnosť). Ak Transparentné rovná sa pravda, potom obrázok v Obrázok sa stáva transparentným. To sa dá použiť na prekrytie obrázkov cez seba. Umiestnite druhú zložku na formulár Obrázok a nahrať do nej ďalší obrázok. Skúste nasnímať nejaký riedko vyplnený obrysový obrázok. Môžete napríklad nasnímať obrázok spomedzi tých, ktoré sú zvyčajne umiestnené na tlačidlách, napríklad šípka (súbor.\programové súbory\bežné súbory\borland zdieľané\obrázky\tlačidlá\šípka1l. bmp). Presuňte svoje Obrázok tak, aby sa navzájom prekrývali, a v hornej súprave komponentov Transparentné rovný pravda. Uvidíte, že horný obrázok už nezakrýva ten spodný. Jedným z možných využití tejto vlastnosti je prekrytie obrázkov nápismi vo forme bitovej matice. Tieto nápisy je možné vytvoriť pomocou programu Image Editor zabudovaného do Delphi.

Upozorňujeme, že nehnuteľnosť Transparentné ovplyvňuje iba bitové matice. V tomto prípade je farba ľavého dolného pixelu bitovej matice štandardne transparentná (t. j. nahradená farbou obrázka umiestneného pod ňou).

Zaoberali sme sa načítaním obrázka zo súboru počas procesu návrhu. Ale majetok Obrázok Tiež uľahčuje organizáciu výmeny s grafickými súbormi akéhokoľvek typu počas vykonávania aplikácie. Aby sme vysvetlili techniku ​​takejto výmeny, musíme najprv podrobnejšie zvážiť vlastnosť Obrázok.

Táto vlastnosť je objekt, ktorý má zase podvlastnosti, ktoré poukazujú na uložený grafický objekt. Ak v Obrázok bitová matica je uložená a je označená vlastnosťou Obrázok. Bitová mapa. Ak je ikona uložená, ukazuje na ňu vlastnosť Obrázok. Ikona. Uložený metasúbor je označený vlastnosťou Obrázok. Metafile. Nakoniec je grafický objekt akéhokoľvek typu označený vlastnosťou Obrázok. Grafický.

Objekt Obrázok a jeho vlastnosti Bitová mapa, Ikona, Metafile A Grafický mať metódy čítania a zápisu súborov LoadFromFile A SaveToFile:

postup LoadFromFile( konšt Názov súboru: reťazec);

postup SaveToFile( konšt Názov súboru: reťazec);

Pre vlastnosti Obrázok. Bitová mapa, Obrázok. Ikona A Obrázok. Metafile Formát súboru musí zodpovedať triede objektu: bitová matica, ikona, metasúbor. Pri čítaní súboru do vlastnosti Obrázok. Grafický súbor musí byť vo formáte metasúboru. A pre samotný objekt Obrázok Metódy čítania a zápisu sa automaticky prispôsobia typu súboru. Vysvetlime si to na príklade.

Vytvorme aplikáciu podobnú príkladu prezerania grafických súborov, o ktorom sme hovorili v časti 4.2. Pre spestrenie ho môžete ovládať aj inak ako tlačidlom Tlačidlo a menu. Umiestnite komponent na formulár Obrázok. Roztiahnite ho alebo nastavte jeho vlastnosť Zarovnať rovný alClient tak, aby zaberal celú klientsku oblasť formulára. Presuňte komponent dialógového okna otvárania grafického súboru do formulára OpenPictureDialog(pozri časť 8.2 ). Na formulár umiestnite aj komponent hlavného menu Hlavné menu(pozri časť 6.1 ) a nastavte v ňom jednu sekciu - Súbor. V obslužnom programe pre túto sekciu napíšte príkaz

(OpenPictureDialog1.Execute) potom. Obrázok. LoadFromFile(.FileName);

Tento operátor vyvolá dialóg na otvorenie grafického súboru (pozri obr. 4.4) a načíta ho do komponentu Obrázok1 obrázok zo súboru zvoleného používateľom (pozri obr. 4.5). Okrem toho môže byť súbor akéhokoľvek typu: bitová matica, ikona alebo metasúbor.

Obr.4.5 Obrázok v komponente Obrázok bitová matica (a) a piktogram (6)



V tejto aplikácii metóda LoadFromFile aplikovaný na Obrázok1. Obrázok. Ak sa budú otvárať iba súbory s bitovou maticou, potom je možné operátor načítania súboru nahradiť

Obrázok. Bitová mapa LoadFromFile(.FileName);

Pre piktogramy je možné použiť operátor. Obrázok. Ikona. LoadFromFile(.FileName);

a pre metasúbory - operátor. Obrázok. Metafile. LoadFromFile(.FileName);

alebo. Obrázok. Grafický. LoadFromFile(.FileName);

Ale vo všetkých týchto prípadoch, ak formát súboru nezodpovedá zamýšľanému formátu, dôjde k chybe. Metóda funguje podobne SaveToFile s rozdielom, ktorý sa týkal Obrázok alebo k Obrázok. Grafický do súboru uloží obrázok ľubovoľného formátu. Napríklad, ak aplikáciu rozšírite o dialógové okno SavePictureDialog(pozri časť 8.2 ), zadajte v menu sekciu Uložiť ako a umiestnite operátora do jeho handlera

SavePictureDialog1. Vykonať potom. Obrázok. SaveToFile(SavePictureDialog1. FileName);

potom bude môcť používateľ uložiť obrázok ľubovoľného formátu do súboru s novým názvom. Len v tomto prípade, aby v budúcnosti nedošlo k zámene, musí prípona uloženého súboru stále zodpovedať formátu uloženého obrázka.

Program bude fungovať úplne identicky pre obrázky akéhokoľvek formátu, ak nahradíte operátor uloženia

Obrázok. Grafický. SaveToFile(.FileName);

užívaním majetku Obrázok. Grafický. A ak poznáte formát toho, čo je uložené v komponente Obrázok obrázky, potom môžete použiť metódu SaveToFile na vlastnosti Obrázok. Bitová mapa, Obrázok. Ikona A Obrázok. Metafile.

Pre všetky uvažované objekty Obrázok, Obrázok. Bitová mapa, Obrázok. Ikona A Obrázok. Metafile metódy na priraďovanie hodnôt objektu sú definované:

Assign(Zdroj: TPersistent);

Avšak, pre Bitová mapa, Ikona A Metafile Môžete priradiť iba hodnoty homogénnych objektov: bitové matice, ikony, metasúbory. Pri pokuse o priradenie hodnôt k heterogénnym objektom sa vyvolá výnimka EConvertError. Objekt Obrázok- univerzálny, možno mu priradiť hodnoty objektov ktorejkoľvek z ostatných troch tried. A zmysel Obrázok možno priradiť iba objektu, ktorého typ sa zhoduje s typom objektu, ktorý je v ňom uložený.

Metóda Priradiť možno použiť aj na výmenu obrázkov s vyrovnávacou pamäťou schránky. Napríklad operátor

Assign(Image1.Picture);

uloží obrázok uložený v schránke do schránky Obrázok1. Podobný operátor

grafická aplikácia pre obrázky delphi

Obrázok1. Obrázok. Priradiť (schránka);

čítať v Obrázok1 obrázok v schránke. Okrem toho to môže byť akýkoľvek obrázok a dokonca aj text.

Stačí si pamätať pri práci so schránkou na vloženie do operátora používa odkaz vášho modulu na modul Clipbrd. Delphi nevloží tento odkaz automaticky.

Návrat k vlastnostiam komponentov Obrázok, môžeme si všimnúť jednu nevýhodu, ktorá je vlastná našej testovacej aplikácii, znázornenej na obr. 4.5 Pri načítavaní rôznych obrázkov môže byť veľkosť okna aplikácie buď príliš malá, a potom uvidíte iba časť obrázka, alebo príliš veľká a potom bude obrázok neatraktívne umiestnený v ľavom hornom rohu formulára a zostane veľa prázdneho miesta. Túto nevýhodu možno odstrániť použitím vlastností Výška(výška) a šírka(šírka) zložka Obrázok. S majetkom Automatická veľkosť nainštalovaný v pravda rozmery Obrázok sa automaticky nastavia na rovnakú veľkosť ako nahraný obrázok. A tieto rozmery je možné použiť na príslušnú zmenu veľkosti formulára. Napríklad predchádzajúci kód na načítanie obrázka zo súboru možno nahradiť nasledujúcim:

OpenPictureDialog1. Vykonať potom

začať. Obrázok. LoadFromFile(.FileName); Výška klienta: = Obrázok1. Výška + 10;. Hore:=Formulár1. ClientRect. Hore

+ (Form1. ClientHeight - Image1. Height) div 2;. ClientWidth:=Obrázok1. Šírka + 10;. Vľavo: = Form1. ClientRect. Vľavo

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

koniec;

Tento kód nastavuje veľkosť klientskej oblasti formulára tak, aby bola o niečo väčšia ako veľkosť komponentu. Obrázok1, ktoré sa zase vďaka vlastnosti prispôsobia veľkosti obrazu Automatická veľkosť. Vykonajte tieto zmeny vo svojej aplikácii, spustite ju a uvidíte, ako sa formulár automaticky prispôsobí veľkosti nahraného obrázka.

Tvarový komponent

Komponent Tvar možno len podmienečne klasifikovať ako prostriedok na zobrazovanie grafickej informácie, pretože jednoducho predstavuje rôzne geometrické tvary, vhodne zatienené. Hlavnou vlastnosťou tohto komponentu je Tvar(form), ktorý môže nadobúdať tieto hodnoty:

Príklady týchto foriem sú znázornené na obr. 4.7

Obr.4.7 Príklady komponentov Tvar


Ďalšou podstatnou vlastnosťou komponentu je Kefa(kefa). Táto vlastnosť je objektom typu TBrush, ktorá má množstvo podvlastností, najmä: farba ( Kefa. Farba) a štýl ( Kefa. Štýl) vyplňte tvar. Plnenie pri niektorých hodnotách Štýl môžete vidieť na obr. 4.7 Tretiu zo špecifických vlastností súčiastky Tvar - Pero(pero), ktoré definuje štýl čiary. Táto nehnuteľnosť je ako nehnuteľnosť Kefa, už boli diskutované v časti 4.2 . Referenčné údaje o týchto vlastnostiach nájdete v kapitole 10*.

Komponent grafu

Teraz sa pozrime na komponent Graf. Tento komponent umožňuje vytvárať rôzne tabuľky a grafy, ktoré vyzerajú veľmi pôsobivo (obr. 4.8). Komponent Graf má veľa vlastností, metód, udalostí, takže ak by sme ich všetky zvážili, museli by sme tomu venovať celú kapitolu. Preto sa obmedzíme na zváženie iba hlavných charakteristík Graf. Zvyšok nájdete v vstavanej nápovede Delphi alebo si ich jednoducho vyskúšajte experimentovaním s diagramami.

Komponent Graf je kontajner predmetov séria typu TChartSeries- séria údajov charakterizovaná rôznymi štýlmi zobrazenia. Každý komponent môže obsahovať niekoľko sérií. Ak chcete zobraziť graf, potom bude každá séria zodpovedať jednej krivke na grafe. Ak chcete zobraziť grafy, pre niektoré typy grafov môžete prekryť niekoľko rôznych sérií na seba, pre iné (napríklad koláčové grafy) to bude pravdepodobne vyzerať škaredo. Aj v tomto prípade však môžete nastaviť jeden komponent Graf niekoľko sérií rovnakých údajov s rôznymi typmi grafov. Potom vždy aktivovaním jedného z nich môžete používateľovi poskytnúť výber typu grafu, ktorý zobrazuje údaje, o ktoré má záujem.

Umiestnite jeden alebo dva (ak chcete reprodukovať Obr. 4.8) komponenty Graf vo formulári a pozrite sa na vlastnosti, ktoré sa otvárajú v Inšpektorovi objektov. Tu je niekoľko vysvetlení niektorých z nich.

Určuje, či používateľ môže počas vykonávania posúvať pozorovanú časť grafu kliknutím pravého tlačidla myši. Možné hodnoty: pmNone - rolovanie je zakázané, pmHorizontal, pmVertical alebo pmBoth - rolovanie je povolené, resp. len v horizontálnom smere, len vo vertikálnom smere alebo v oboch smeroch.

Umožňuje používateľovi zmeniť mierku obrazu počas vykonávania, vystrihnúť fragmenty tabuľky alebo grafu pomocou kurzora myši (Obr. 4.8b nižšie zobrazuje moment prezerania časti grafu, celý zobrazený na Obr. 4.8a).

Definuje názov grafu.

Definuje označenie pre graf. Štandardne žiadne. Text podpisu je určený podvlastnosťou Text.

Definuje okraj okolo diagramu.

Legenda diagramu je zoznam symbolov.

MarginLeft, MarginRight, MarginTop, MarginBottom

Hodnoty ľavého, pravého, horného a dolného okraja.

Dolná os, ľavá os, pravá os

Tieto vlastnosti určujú charakteristiky spodnej, ľavej a pravej osi. Nastavenie týchto vlastností má zmysel pre grafy a niektoré typy grafov.

Ľavá stena, spodná stena, zadná stena

Tieto vlastnosti určujú charakteristiky ľavého, spodného a zadného okraja trojrozmernej zobrazovacej plochy grafu (pozri obr. 4.8 a, spodný graf).

Zoznam radov údajov zobrazených v komponente.

Povolí alebo zakáže zobrazenie 3D grafu.

Charakteristika trojrozmerného zobrazenia.

Trojrozmerná mierka (pre obr. 4.8 je to hrúbka diagramu a šírka pásov grafu).


Vedľa mnohých vlastností uvedených v Inšpektore objektov sú tlačidlá s elipsami, ktoré vám umožňujú vyvolať jednu alebo druhú stránku Editora grafov – viacstránkové okno, ktoré vám umožní nastaviť všetky vlastnosti grafov. Editor diagramov je možné vyvolať aj dvojitým kliknutím na komponent Graf alebo kliknutím naň pravým tlačidlom myši a výberom príkazu Upraviť graf z kontextovej ponuky.

Ak sa chcete pokúsiť reprodukovať aplikáciu zobrazenú na obrázku 4.8, dvakrát kliknite na horný komponent Graf. Dostanete sa do okna Editor grafov (obr. 4.9) na stránku Graf, ktorá má niekoľko záložiek. V prvom rade vás na ňom zaujme záložka Séria. Kliknite na tlačidlo Pridať - pridajte sériu. Dostanete sa do okna (obr. 4.10), v ktorom si môžete vybrať typ grafu alebo grafu. V tomto prípade vyberte Koláčový - koláčový graf. Pomocou záložky Názvy môžete nastaviť nadpis grafu, záložka Legenda umožňuje nastaviť parametre pre zobrazenie legendy grafu (zoznamu symbolov) alebo ju úplne odstrániť z obrazovky, záložka Panel určuje vzhľad panelu na v ktorom je graf zobrazený, karta 3D vám dáva možnosť zmeniť vzhľad grafu: naklonenie, posun, hrúbka atď.

Keď pracujete v editore grafov a máte vybratý typ grafu, komponenty Graf Váš formulár zobrazí svoj vzhľad s podmienenými údajmi, ktoré sú do neho zadané (pozri obr. 4.11).

Obr.4.10 Výber typu grafu v editore grafov


Preto môžete okamžite vidieť výsledok použitia rôznych možností vo vašej aplikácii, čo je veľmi výhodné.

Stránka Séria, ktorá má tiež niekoľko kariet, vám dáva možnosť výberu doplnkové vlastnosti zobrazenie série. Najmä pre koláčový graf na karte Formát je užitočné povoliť možnosť Kruhový koláč, ktorá zabezpečí, že pri akejkoľvek veľkosti komponentu Graf zobraziť graf vo forme kruhu. Na karte Značky určujú tlačidlá skupiny Štýl, čo sa bude písať na menovky súvisiace s jednotlivými segmentmi grafu: Hodnota - hodnota, Percento - percentá, Označenie - názvy údajov atď. V príklade na obrázku 4.8 je aktivované tlačidlo Percento a na karte Všeobecné je nastavená percentuálna šablóna, aby sa zabezpečilo, že sa zobrazia iba celočíselné hodnoty.

Ak chcete, môžete tento komponent pridať Graf inú identickú sériu kliknutím na tlačidlo Klonovať na karte Séria na stránke Graf a potom pre túto novú sériu kliknutím na tlačidlo Zmeniť a výberom iného typu grafu, napríklad Pruh. Samozrejme dve odlišné typy diagramy na jednom obrázku budú vyzerať zle. Môžete však vypnúť indikátor pre túto novú sériu na karte Séria a potom nechať používateľa vybrať jeden alebo iný typ zobrazenia grafu (ako sa to robí, ukážeme nižšie).

Ukončite Editor diagramov, vyberte spodný komponent v aplikácii Graf a zopakujte nastavenie vlastností pomocou editora diagramov. V tomto prípade budete musieť zadať dve série, ak chcete na grafe zobraziť dve krivky, a vybrať typ Čiarový graf. Keďže hovoríme o grafoch, pomocou kariet Os a Steny môžete určiť súradnicové charakteristiky osí a trojrozmerných hrán grafu.

To je pre dizajn všetko vzhľad aplikácia končí. Zostáva len napísať kód, ktorý špecifikuje údaje, ktoré chcete zobraziť. Pre testovaciu aplikáciu nastavme len niektoré konštantné údaje v koláčovom grafe a funkcie sínus a kosínus v grafoch.

Ak chcete nastaviť zobrazené hodnoty, musíte použiť metódy série séria. Zamerajme sa len na tri hlavné metódy.

Metóda jasný vymaže sériu predtým zadaných údajov.

Metóda Pridať:

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

umožňuje pridať nový bod do diagramu. Parameter AValue zodpovedá pridanej hodnote, parametru ALabel- názov, ktorý sa zobrazí na diagrame a v legende, ACcolor- farba. Parameter ALabel- voliteľné, môže byť prázdne: "".

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

umožňuje pridať nový bod do funkčného grafu. možnosti AXValue A AYValue zodpovedajú argumentu a funkcii. možnosti ALabel A ACcolor rovnako ako v metóde Pridať.

Postup načítania údajov v našom príklade by teda mohol vyzerať takto:

155;=251;=203;=404;

var: slovo;

začať Séria1 robiť

začať;(A1, "Workshop 1", clYellow);(A2, "Workshop 2", clModrá);(A3, "Workshop 3", clRed);(A4, "Workshop 4", clPurple);

koniec;. Jasný;. Jasný;

pre i: =0 do 100 robiť

začať. AddXY (0,02*Pi*i, sin (0,02*Pi*i), "", clRed);. AddXY (0,02*Pi*i, cos (0,02*Pi*i), "", clBlue);

Ak máte napríklad uvedené údaje zobrazené v grafe, dve série Séria1 A Séria 4 odlišné typy - Koláč A Bar, potom môžete zaviesť postup, ktorý zmení typ diagramu podľa požiadavky užívateľa. Tento postup je možné zadať do udalosti Po kliknutí nejaké tlačidlo, príkaz ponuky alebo napríklad jednoduché spracovanie kliknutia na komponent Graf. Na načítanie údajov do Séria 4 a urobiť tento diagram neviditeľným v prvom momente, môžete operátory vložiť na koniec vyššie uvedeného postupu

Priradiť (Series1); Aktívne: =false;

Prvý z týchto operátorov prepisuje údaje umiestnené v Séria1, v sérii Séria 4. A druhý operátor robí sériu neviditeľnou Séria 4. Zmena typu diagramu sa vykonáva postupom

Aktívne: = nie Séria 1. Aktívne;. Aktívne: = nie Séria 4. Aktívne;

Na obr. 4.8b môžete vidieť výsledok prepnutia užívateľa do iného zobrazenia diagramu.

LABORATÓRNE PRÁCE

PREDMET: « Grafika vDelphi– konštrukcia najjednoduchších
geometrické tvary"

Stručné informácie z teórie

Delphi poskytuje vývojárom tri spôsoby zobrazenia grafiky:

    vykresľovanie počas behu programu

    použitie vopred vytvorenej grafiky

    vytváranie obrázkov pomocou grafických komponentov

Na vytváranie grafov boli vytvorené špeciálne triedy, ktoré poskytujú nástroje a metódy na kreslenie: nástroje sú popísané v troch triedach - Tfont, Tpen, Tbrush; Oblasť kreslenia a metódy poskytuje trieda Tcanvas.

TriedaTfont– určuje vlastnosti písma použitého na zobrazenie textu na plátne. Vlastnosti triedy sú popísané v časti „Základné vlastnosti dostupné pre väčšinu komponentov“.

TriedaTpen– špecifikuje vlastnosti pera (ceruzky), ktorým sa kreslia čiary.

Vlastnosti trieda Tpen:

Farba:Tcolor – farba čiary (predvolená – čierna)

šírka:integer – hrúbka čiary v pixeloch;

Štýl = (psSolid, psDash, psDot, psdashDot, psClear) – definuje štýl čiary (plná, prerušovaná, bodkovaná, prerušovaná, neviditeľná)

TriedaTbrush– nastavuje vlastnosti štetca, ktorý maľuje povrch obrázka.

Vlastnosti trieda Tbrush:

Farba:Tcolor – farba štetca (predvolená – biela)

Štýl– vzor kefy, môže nadobúdať nasledujúce hodnoty:

BsSolid – pevné sfarbenie

BsClear – nedostatok tieňovania

BsVertical – zvislé čiary

BsBdiagonal – pravé diagonálne čiary

BsDiagCross – šikmá bunka

BsHorizontal – horizontálne čiary

BsFdiagonal – ľavé diagonálne čiary

BsCross – klietka

TriedaTcanvas– určuje povrch, na ktorý je vytvorený obrázok umiestnený, a nástroje, pomocou ktorých je obrázok vytvorený: písmo, ceruzka, štetec.

Ako pracovná oblasť(plátno, „plátno“), v predvolenom nastavení sa používa celá klientska oblasť formulára (bez hlavičky, hlavnej ponuky a posúvacích riadkov formulára), ale menšie pracovné oblasti môžete vo formulári prideliť pomocou komponentov PaintBox alebo Obrázok. Počiatok súradnice plátna je ľavý horný roh pracovnej oblasti, šírka pracovnej oblasti je určená vlastnosťou ClientWidth, výška – vlastnosť Výška klienta.

Vlastnosti trieda Tcanvas:

Plátno:Tcanvas – definuje oblasť kreslenia

Kefa:Tbrush – štetec na maľovanie uzavretých tvarov

Písmo:Tfont – písmo pre zobrazenie textu na plátne

Pero:Tpen – ceruzka (pero) na kreslenie

PenPos:Tpoint – aktuálna poloha neviditeľného kurzora na plátne

Komentujte : Typ bodu T – definovaný takto:

Typ Bod = záznam

Pixely: Tcolor - nastavuje farby pixelov plátna, X, Y - súradnice pixelov. Vlastnosť Pixels je vhodná na vykresľovanie grafov pomocou bodov vybranej farby.

Hlavné metódy triedy TCanvas

    postup Presunúť do(x,y:celé číslo); - presunie pero bez kreslenia čiary do bodu so súradnicami (x, y).

    Postup LineTo(x,y:celé číslo); - nakreslí čiaru z aktuálneho bodu do bodu so súradnicami (x, y).

Príklad : Nakreslite na tvar diagonálnu modrú čiaru z ľavého horného rohu tvaru do pravého dolného rohu.

Farba pera:= clmodra;

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

    postup Obdĺžnik(x1,y1,x2,y2:celé číslo); - nakreslí obdĺžnik: x1,y1 – súradnice ľavého horného rohu; x2, y2 sú súradnice pravého dolného rohu.

Príklad : Nakreslite v strede tvaru žltý tieňovaný štvorec so stranou 60 pixelov.

var Xc,Yc: celé číslo; //

Xc:=ClientWidth div 2;

Xy:=Výška klienta div 2;

Canvas.Brush.color:=clyellow;

Canvas.rectangle(xc-30,Yc-30,xc+30,Yc+30);

    postup Elipsa(x1,y1,x2,y2:celé číslo); - nakreslí elipsu vpísanú do obdĺžnika so zadanými súradnicami.

Príklad : nakreslite elipsu vpísanú do komponentu PaintBox.

PaintBox1.Canvas.Pen.Width:=4; //šírka riadku = 4 pixely

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

    postup Polygón(); - nakreslí uzavretý mnohouholník určený poľom súradníc.

Príklad : nakreslite vyplnený kosoštvorec spájajúci stredy strán tvaru

Var Xc,Yc: celé číslo; // súradnice stredu klientskej oblasti formulára

Xc:=ClientWidth div 2;

Xy:=Výška klienta div 2;

Canvas.Brush.Color:=Rgb(275,140,70); // oranžová farba tienenie

Canvas.Polygon();

koniec;

    Postup Arc(x1,y1,x2,y2,x3,y3,x4,y4:celé číslo); - zobrazí oblúk elipsy ohraničený obdĺžnikom (x1, y1, x2, y2). Oblúk sa zobrazuje z bodu so súradnicami (x3,y3) do bodu so súradnicami (x4,y4) proti v smere hodinových ručičiek.

Príklad : nakreslite elipsový oblúk spájajúci stred hornej strany komponentu
PaintBox so stredom jeho pravej strany.

Procedure Tform1.Button1Click(Sender:Tobject);

Var X3,y3,x4,y4: celé číslo;

S PaintBox1 urobte

Canvas.Pen.Color:= clWhite;

Canvas.Pen.Width:= 3;

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

X3:= ClientWidth div 2;

X4:= ClientWidth;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

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

Koniec;

    postup Chord(x1,y1,x2,y2,x3,y3,x4,y4:celé číslo); - nakreslí tetivu - priamku spájajúcu 2 body elipsy: bod so súradnicami (x3, y3) s bodom (x4, y4).

Príklad : Nahraďte metódu Chord v uvedenom príklade pre metódu ARC a získajte nasledujúci výsledok.

    postup Koláč(x1,y1,x2,y2,x3,y3,x4,y4:celé číslo); - nakreslí elipsový segment spájajúci stred elipsy so súradnicami (x3,y3) a (x4,y4).

Príklad : V príklade uvedenom pre metódu ARC si predstavte metódu PIE a získajte tento výsledok.

    postup TextOut(x,y:integer;Text:retazec); - vypíše reťazec odovzdaný v parametri Text do obdĺžnika, ktorého ľavý horný roh je určený súradnicami x, y. Charakteristiky písma sa nastavujú pomocou nástroja Písmo.

Príklad : v spodnej časti formulára napíšte názov vykresleného grafu.

Canvas.Font.Height:=20 ; //výška znaku 20 pixelov

Canvas.Font.Color:=clblue;

Canvas.TextOut(10, ClientHeight-24, ‘graf funkcie SIN(X)’);

Grafické komponenty

Delphi ponúka množstvo hotových komponentov, ktoré vám umožňujú zlepšovať sa používateľské rozhranie. Tieto komponenty sú umiestnené na stránke Dodatočné A systém palety komponentov.

KomponentObrázok(TriedaČasový rozvrh) – vytvorené na zobrazovanie grafických obrázkov uložených v externých súboroch s príponami:

    Iko(ikona, piktogram);

    bmp( rastrový obrázok, bitmapa);

    Wmf, .emf (metasúbor);

    Jpg, .jpeg (komprimovaný obrázok JPEG).

Základné vlastnosti :

Automatická veľkosť:boolean – kedy pravda komponent prispôsobí svoje rozmery rozmerom načítaného obrázku; predvolená hodnota je nepravda.

Natiahnuť:boolean – ak je true, načítaná hodnota zaberá celú oblasť komponentu; predvolená hodnota je nepravda.

Plátno:Tcanvas – používa sa na kreslenie vnútri komponentu počas vykonávania programu.

Obrázok:Tpicture – Definuje obrázok umiestnený v komponente.

Základné metódy trieda Tobrázok:

Postup LoadFromFile(Názov súboru:string); - načíta obrázok zo súboru s názvom Názov súboru do komponentu.

Postup SaveToFile(Názov súboru:string); -uloží obrázok z komponentu do súboru s názvom Názov súboru.

KomponentPaintBox - definuje obdĺžnikovú oblasť kreslenia. Hlavná nehnuteľnosť je Plátno, dostupné sú všetky metódy triedy Tcanvas, nemá žiadne nezávislé vlastnosti.

Príklad : nakreslite žltú elipsu vpísanú do komponentu PaintBox1.

Procedure Tform1Button1Click(odosielateľ:Objekt);

S PaintBox1.Canvas to urobte

Brush.Color:=clyellow;

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

koniec;

KomponentBitBtn rastrové tlačidlo

Tlačidlo BitBtn na rozdiel od štandardného môže okrem nadpisu (Caption) obsahovať aj obrázok určený vlastnosťou Glyph. K dispozícii je sada štandardných tlačidiel BitBtn, s preddefinovanými vlastnosťami (s konkrétnym obrázkom, nápisom a účelom) - typ štandardného tlačidla sa vyberá cez vlastnosť Milý. Druh=(bkCustom, bkAbort,bkCancel,bkClose…)

Úloha č.1

Vytvorte aplikáciu, ktorá obsahuje hlavná forma dve zložky obrazu a 4 tlačidlá ("Načítať obrázok", "Vytvoriť geometrický obrazec", "Zmeniť farbu", "Ukončiť") a umožňuje:

a) načítajte užívateľom vybraný grafický obrázok do komponentu Image1 tak, aby obrázok zaberal celú plochu komponentu Image.

b) pod komponentom Image1 zobrazte nápis „Toto je obrázok zo súboru.

(pre akékoľvek meranie veľkosti a polohy komponentuObrázok1 nápis by mal
umiestnené presne pod komponentom).

c) nakreslite geometrický obrazec vo vnútri komponentu Image2: vyplnený elipsový segment spájajúci stred komponentu Image so stredmi spodnej a pravej strany komponentu Image.

(pre akúkoľvek zmenu veľkosti a polohy komponentuObrázok2 musí byť postava správne skonštruovaná, t.j. podľa špecifikácie komponentuObrázok2)

d) zmeniť farbu čiary postavy nakreslenej v Image2 na žiadosť používateľa pomocou komponentu ColorDialog.

Úloha č.2

Vytvorte aplikáciu, ktorá vám umožní náhodne umiestniť niekoľko štítkov (napríklad slovo „Hurá!“) do komponentu Image. Na implementáciu použite generátor náhodných čísel Randomize a funkciu Random.

Rozmery komponentu Obrázok, slovo zobrazené na obrázku a počet slov musí zadať používateľ.

Úloha č.3

Vytvorte aplikáciu, ktorá vám umožní vybrať názov geometrického tvaru zo ListBoxu a nakresliť vybraný tvar v komponente Obrázok. Farba tvaru sa vyberá z komponentu RadioGroup.

Úloha č.4

Rozdeľte komponent PaintBox1 na 4 rovnaké časti, každú časť namaľte inou farbou, napr.: modrá, žltá, zelená, červená.

Vedľa každého rohu PaintBox1 napíšte súradnice tohto rohu (vzhľadom na pôvod formulára, na ktorom sa nachádza komponent PaintBox1).

Úloha č.5

S

vyberte typ tvaru, ktorý sa má nakresliť z komponentu Radiogroup1, farbu výplne z komponentu Radiogroup2 a nakreslite vybraný tvar v komponente Image.

Úloha č.6

Vytvorte aplikáciu, ktorá umožní užívateľovi nastaviť rozmery komponentu PaintBox1 (v pixeloch).

Rozdeľte komponent PaintBox1 na 2 rovnaké časti, do každej časti nakreslite elipsu, vyplnenú farbou zvolenou používateľom v ColorDialogu.

Úloha č.7

S Vytvorte aplikáciu, ktorá vám umožní:

vyberte názov geometrického tvaru zo ListBoxu a nakreslite vybraný tvar v komponente Obrázok. Tvar by mal byť vyplnený farbou zvolenou používateľom v komponente ColorDialog, ak je v komponente RadioGroup vybratá možnosť Áno.

Úloha č.8

Vytvorte aplikáciu, ktorá umožní užívateľovi nastaviť rozmery komponentu PaintBox1 (v pixeloch).

Rozdeľte komponent PaintBox1 na 4 rovnaké časti, do každej časti nakreslite iný geometrický tvar (elipsa, kosoštvorec, trojuholník a obdĺžnik). Farbu každého tvaru vyberá používateľ v mriežke farieb.

Úloha č.9

vyberte názov geometrického tvaru zo zoznamu
tvary (elipsa, kosoštvorec, obdĺžnik) a kresliť
vybraný tvar v komponente Obrázok. Poloha
tvary v komponente Obrázok (I štvrtina, II štvrtina,

III alebo IV štvrťrok) a vyberie sa farba figúrky
z komponentov RadioGroup.

Úloha č.10

Vytvorte aplikáciu, ktorá umožní užívateľovi nastaviť rozmery komponentu PaintBox1 (v pixeloch).

Zabezpečte, že veľkosť strany nemôže byť text, nemôže byť záporné číslo a nesmie byť väčšia ako menšej veľkosti formulárov.

Rozdeľte komponent PaintBox1 na 4 rovnaké časti, do každej časti nakreslite geometrický tvar vybraný používateľom v Comboboxe (elipsa, kosoštvorec, trojuholník a obdĺžnik). Farbu figúrky si vyberá užívateľ v ColorBoxe.

Úloha č.11

Vytvorte aplikáciu, ktorá vám umožní:

vyberte z komponentu Radiogroup polohu výkresu

v obrazovej zložke pravouhlého trojuholníka nastavte
farba tieňovania postavy alebo farba obrysu, v závislosti od
aktivácia tlačidiel začiarkavacieho políčka. Vyberte farbu cez
Komponent ColorGrid.

Úloha č.12

Vytvorte aplikáciu, ktorá umožní užívateľovi nastaviť rozmery komponentu PaintBox1 (v pixeloch).

Zabezpečte, že veľkosť strany nemôže byť text, nemôže byť záporné číslo a nesmie presahovať menšiu veľkosť formulára.

Rozdeľte komponent PaintBox1 na 2 rovnaké časti, do jednej z častí nakreslite geometrický tvar vybraný používateľom v Comboboxe (elipsa, kosoštvorec, trojuholník a obdĺžnik). Farbu figúrky si vyberá užívateľ v ColorBoxe.

Farbu formulára môžete zmeniť napríklad takto:

forma1.Color:= ColorBox1.Colors;

Úloha č.13

Vytvorte aplikáciu, ktorá vám umožní:

a) nakresliť štvorec do stredu tvaru (veľkosť strany štvorca zadáva užívateľ). Zabezpečte, že veľkosť strany nemôže byť text, nemôže byť záporné číslo a nesmie presahovať menšiu veľkosť formulára.

b) rozdeľte štvorec na jednu alebo dve uhlopriečky, v závislosti od zahrnutia tlačidiel Checkbox, a namaľte každý výsledný trojuholník inou farbou. Výber farby vykonáva používateľ.

Úloha č.14

Vytvorte aplikáciu, ktorá umožní užívateľovi nastaviť rozmery komponentu PaintBox1 (v pixeloch).

Zabezpečte, že veľkosť strany nemôže byť text, nemôže byť záporné číslo a nesmie presahovať menšiu veľkosť formulára.

Rozdeľte komponent PaintBox1 na 2 rovnaké časti, do jednej časti nakreslite kosoštvorec a do druhej časti nakreslite ľubovoľný trojuholník. Farbu figúrky si vyberá užívateľ v ColorBoxe.

Farbu formulára môžete zmeniť napríklad takto:

forma1.Color:= ColorBox1.Colors;

Úloha č.15

Vytvorte aplikáciu, ktorá vám umožní:

a) nastaviť rozmery obrazového komponentu horizontálne a vertikálne tak, aby boli rovnaké a rovné číslu zadanému používateľom z klávesnice;

(za predpokladu, že veľkosť strany nemôže byť text, nemôže byť záporné číslo a nemôže presiahnuť menšiu veľkosť formulára)

b) rozdeľte komponent Image na 4 rovnaké štvorce s dvoma modrými čiarami;

c) do každého výsledného štvorca nakreslite kruh, ktorý je doň vpísaný (umožnite používateľovi vybrať si farbu kruhov cez dialógové okno výberu farby).

Úloha č.16

Vytvorte aplikáciu, ktorá umožní užívateľovi nastaviť rozmery komponentu PaintBox1 (v pixeloch).

Zabezpečte, že veľkosť strany nemôže byť text, nemôže byť záporné číslo a nesmie presahovať menšiu veľkosť formulára.

Vydeľte komponent PaintBox1 číslom 9 rovnakými dielmi a vyplňte každý výsledný šachovnicový obdĺžnik. Farbu výplne vyberá používateľ v poli ColorBox.

Farbu formulára môžete zmeniť napríklad takto:

forma1.Color:= ColorBox1.Colors;

Úloha č.17

Do formulára umiestnite dva komponenty obrázka a štyri tlačidlá: Farba čiary, Farba výplne, Ok a Koniec; a komponent Upraviť.

Keď kliknete na tlačidlo OK, na obrázku 1 sa nakreslí štvorec so stranou X a na obrázku 2 sa nakreslí pravouhlý trojuholník s rovnakými ramenami, z ktorých každá má dĺžku X.

Vrchol trojuholníka sa zhoduje s počiatkom Image2. Jeden z vrcholov štvorca sa zhoduje s pôvodom Image1.

Tlačidlo OK bude dostupné len vtedy, keď ste na nakreslenie tvaru vybrali farbu čiary a farbu výplne.

X – vyberá náhodne pomocou funkcie Random a hodnota X by sa mala zobrazovať v komponente Edit.

Úloha č.18

Vytvorte aplikáciu, ktorá umožní užívateľovi nastaviť rozmery komponentu PaintBox1 (v pixeloch).

Rozdeľte komponent PaintBox1 na 4 rovnaké časti, vo vnútri užívateľom vybranej časti by sa mal postaviť vyplnený kruh, ktorého veľkosť si nastaví užívateľ. Používateľ vyberie farbu výplne v poli ColorBox.

Farbu formulára môžete zmeniť napríklad takto:

forma1.Color:= ColorBox1.Colors;


“Zobrazenie grafických informácií v Delphi” Náčrt témy: 1.C S pppp ooooo ssss ooooo bbbb yyyy in yyyy vvvv ooooo dddd aaaa yy g rrrrr aaaa ffff iii hhhh eee mmffooooss aaaaaaaaaaaaaaaaaaaa ffff iii hhhh eee kk st iiiiii iiiiii v iv v D D D D eeee llll pppp hhhh iiii O O tttt ooo bbbb rrrrr aaaa zhzhzh eee nnnn iiii eee k k k aaaa rrrrr tttt iiii nnnn ooooo kkkk O O ttrreooooo zh bb bb g y g eee ooooo mmmm eee ttt rrrr iiii hhchh eee ssss kkkk iiii xxxxx ffff iiii rrr rrrrr p pooooo sss ttt rrrr ooooo eee nnnn iiii eee yy g g rrrrr aaaaaaa ffff iiii kkkk ooooo vvvv i i i i i i i i i i iiiiiiii a m Iiiii a m iiiii.


1. Spôsoby zobrazovania grafických informácií. V Delphi existuje niekoľko spôsobov zobrazenia grafických informácií: Výstup vopred pripravených obrázkov (Obrázok, Komponenty Tvar); P Konštrukcia grafov a diagramov (komponent Graf atď.); F Zobrazovanie programovo(Objekt na plátne).


2.Zobrazenie 2.Zobrazenie obrázkov. Zobrazenie obrázkov pomocou komponentu IMAGE, ktoré sme skúmali v LLC DDDD DDDD LLC Yiyy a a a ZZZZ P P P PRRRDDDDDDDDDDDDDDD IIII XXXX T T T T T T T T T T T T TOTEMMM .... Tu budeme uvažovať o príklade najjednoduchšej animácie, ktorá periodicky mení zobrazovaný obrázok v komponentoch Image . PPPP eee rrrrr eee yyyytoeee nnnn aaaaaaa






3.Zobrazenie 3.Zobrazenie geometrických tvarov. A Z niekoľkých komponentov Shape môžete vytvárať jednoduché kresby. P Programovou zmenou polohy (.Left,.Top), veľkosti (.Width,.Height) a farby (.Brush.Color) komponentov Shape vo výkrese môžete implementovať prvky najjednoduchšej animácie. R R R R aaaa ssssssss mmmm ooooh tttt rrrrr eee tttt yee p p p p rrrrr iii mmmm eee rrrrr....


4.Konštrukcia 4.Konštrukcia grafov a diagramov. Diagramy sú navrhnuté pre vizuálnejšiu reprezentáciu polí číselných údajov, ich vizuálne zobrazenie a analýzu. PPPP rrrrr iiii mmmm eee rrrrr.... Na vytváranie grafov v Delphi existuje niekoľko komponentov, jedným z nich je komponent Chart (časť TeeChart Std).










Grafy a diagramy. Údaje, ktoré sa majú zobraziť, sa zvyčajne prenášajú do grafu programovo, napríklad: Series1.Clear; (jasná séria) pre i:=1 až N do Séria1.addxy(i, A[i], clZelená); Hodnota osi X Hodnota osi Y Označenie osi X Farba údajov na PP grafe aaaa sssssssssss mmmm ooooo tttt rrrrr eee tttt yee p p p p prrrr iiii mmmm eee rrrrr p p p poooo ssss ttt rrrrirry ttt eeeeeeeeeeeeeeeeeeeeeeeerrrrr p p p poooo ssss ttt eeeee rrrrr p p p poooo ssss ttt eeeeeeeeeee rrrrr aaa ffff iii kkkk aaaa f f f f uuuu nnnn kkkk tsstst iiiiii y y y y = = = = S S S S iiii nnnn ((((xxxx))))


Ďalej: Laboratórna práca „“““ OOOO tttt ooooo bbbb rrrrr aaaa zhzhzh eee nnnn iiii eee k k k k aaaa rrrrr tttt iiii nnnn ooooo kkkk i i i i yyyy eee ooooo mmmm eerkechsiisttx x ffff iiii yyyy uuuu rrrrr, a a a xxxx a a a a a nnnn iiii mmmm aaaa tsstst iiii yayayaya """"...Úloha: 1) Vytvorte aplikáciu na vykonávanie jednoduchej animácie periodickou zmenou zobrazeného obrázku v komponentoch Image. (Počet obrázkov je minimálne tri, obrázky si vyberte sami).




Ďalej: Laboratórne práce ““ ““ “PPP OOOO SSSS TTTTTT RRRR LLODNNNNNNNNNEIIEE IIEE Grrrr AAAAA FFF III KKKK OOO VVVV a IIIA AAAAA GGG RRRR AAAAA MMMMMM” ”” ”” "" "" "" "" "1 ..Úloha: M upraviť aplikáciu z laboratórne práce 9 (Zobrazenie údajov v tabuľke). Pridajte možnosť zobraziť niektoré údaje z tabuľky v histograme alebo koláčovom grafe. 2) Zostrojte graf danej funkcie.

Snímka 2

„Zobrazenie grafických informácií v Delphi“ Náčrt témy: Metódy zobrazovania grafických informácií v Delphi. Zobrazte obrázky. Zobrazenie geometrických tvarov. Konštrukcia grafov a diagramov.

Snímka 3

1. Spôsoby zobrazovania grafických informácií. V Delphi existuje niekoľko spôsobov zobrazenia grafických informácií: Výstup vopred pripravených obrázkov (Obrázok, Komponenty Tvar); Konštrukcia grafov a diagramov (komponent Graf atď.); Programové generovanie obrázkov (objekt Canvas).

Snímka 4

Zobrazte obrázky. O zobrazovaní obrázkov pomocou komponentu Image sme hovorili v jednej z predchádzajúcich tém. Tu sa pozrieme na príklad implementácie jednoduchej animácie periodickou zmenou zobrazeného obrázku v komponentoch Image. Prejdite na príklad.

Snímka 5

Zobrazenie geometrických tvarov. Zobrazenie jednoduchých geometrických tvarov na formulári zabezpečuje komponent Tvar.

Snímka 6

Zobrazenie geometrických tvarov. Základné vlastnosti komponentu Shape:

Snímka 7

Zobrazenie geometrických tvarov. Jednoduché návrhy môžete vytvárať z niekoľkých komponentov Shape. Programovou zmenou polohy (.Left, .Top), veľkosti (.Width, .Height) a farby (Brush.Color) komponentov Shape vo výkrese môžete implementovať prvky najjednoduchšej animácie. Zvážte príklad.

Snímka 8

Konštrukcia grafov a diagramov. Diagramy sú navrhnuté pre vizuálnejšiu reprezentáciu polí číselných údajov, ich vizuálne zobrazenie a analýzu. Príklad. V Delphi je niekoľko komponentov na vytváranie grafov, jedným z nich je komponent Chart (sekcia TeeChart Std).

Snímka 9

Konštrukcia grafov a diagramov. Pohľad na komponent Chart po jeho nainštalovaní do formulára:

Snímka 10

Konštrukcia grafov a diagramov. Okrem „Inšpektora objektov“ je možné získať prístup k vlastnostiam komponentu Graf otvorením špeciálneho dialógového okna (pravé tlačidlo na komponente \ Upraviť graf...) Pridať rad údajov Zmena typu grafu

Snímka 11

Konštrukcia grafov a diagramov. Výber typu grafu:

Snímka 12

Konštrukcia grafov a diagramov. Nastavenie vlastností pre súradnicové osi (Axis):

Snímka 13

Konštrukcia grafov a diagramov. Údaje, ktoré sa majú zobraziť, sa zvyčajne prenášajú do grafu programovo, napríklad: Series1.Clear; (jasná séria) pre i:=1 až N do Séria1.addxy(i, A[i], ‘’, clZelená); Hodnota osi X Hodnota osi Y Označenie osi X Farba údajov v grafe Uvažujme príklad vykreslenia funkcie y = Sin(x)

Snímka 14

Ďalej: Laboratórna práca č. 13.1. "Zobrazenie obrázkov a geometrických tvarov, ich animácia." Úloha: 1) Vytvorte aplikáciu na implementáciu jednoduchej animácie periodickou zmenou zobrazeného obrázka v komponentoch Image. (Počet obrázkov je minimálne tri, obrázky si vyberte sami).

Snímka 15

Úloha: 2) Vymyslite a nakreslite obrázok pomocou komponentov tvaru. Programovou zmenou polohy, veľkosti alebo farby komponentov Shape vo výkrese môžete implementovať prvky jednoduchej animácie.

Snímka 16

Ďalej: Laboratórna práca č. 12.2. "Vytváranie grafov a diagramov." Zadanie: Upravte aplikáciu z laboratórnej práce č.9 (Zobrazenie údajov v tabuľke). Pridajte možnosť zobraziť niektoré údaje z tabuľky v histograme alebo koláčovom grafe. 2) Zostrojte graf danej funkcie.

Zobraziť všetky snímky