Komponenta za prikaz grafičnih informacij v delphi. Predstavitev na temo "Prikaz grafičnih informacij v Delphiju." Seznam komponent za prikaz grafičnih informacij

LABORATORIJSKO DELO

ZADEVA: « Grafika vDelphi– konstrukcija najenostavnejših
geometrijske oblike"

Kratke informacije iz teorije

Delphi ponuja razvijalcu tri načine za prikaz grafike:

    risanje med izvajanjem programa

    uporaba vnaprej ustvarjene grafike

    ustvarjanje slik z uporabo grafičnih komponent

Za gradnjo grafov so bili ustvarjeni posebni razredi, ki ponujajo orodja in metode za risanje: orodja so opisana v treh razredih - Tfont, Tpen, Tbrush; Območje risanja in metode zagotavlja razred Tcanvas.

RazredTfont– določa značilnosti pisave, ki se uporablja za prikaz besedila na platnu. Lastnosti razreda so opisane v razdelku »Osnovne lastnosti, ki so na voljo za večino komponent«.

RazredTpen– določa lastnosti peresa (svinčnika), s katerim se rišejo črte.

Lastnosti razred Tpen:

barva:Tcolor – barva črte (privzeto – črna)

Premer:integer – debelina črte v slikovnih pikah;

Slog = (psSolid, psDash, psDot, psdashDot, psClear) – določa slog črte (polna, črtkana, pikčasta, črtkano-pikčasta, nevidna)

RazredTbrush– nastavi lastnosti čopiča, ki barva površino slike.

Lastnosti razred Tbrush:

barva:Tcolor – barva čopiča (privzeto – bela)

Slog– vzorec čopiča, lahko zavzame naslednje vrednosti:

BsSolid – enobarvna barva

BsClear – pomanjkanje senčenja

BsVertical – navpične črte

BsBdiagonal – desne diagonalne črte

BsDiagCross – poševna celica

BsHorizontal – vodoravne črte

BsFdiagonal – leve diagonalne črte

BsCross – kletka

RazredTcanvas– določi površino, na katero se postavi izdelana slika, in orodja, s katerimi se slika ustvari: pisava, svinčnik, čopič.

Privzeto je celotno odjemalsko območje obrazca uporabljeno kot delovno območje (platno) (brez glave, glavnega menija in drsnih linij obrazca), vendar lahko znotraj obrazca dodelite manjša delovna območja s komponentami PaintBox oz Slika. Izhodišče koordinate platna je zgornji levi kot delovnega območja, širina delovnega območja je določena z lastnostjo ClientWidth, višina – last ClientHeight.

Lastnosti razred Tcanvas:

Platno:Tcanvas – določa območje risanja

Čopič:Tbrush – čopič za slikanje zaprtih oblik

Pisava:Tfont – pisava za prikaz besedila na platnu

Pero:Tpen – svinčnik (pisalo) za risanje

PenPos:Tpoint – trenutni položaj nevidnega kazalca na platnu

Komentiraj : Vrsta Tpoint – definirana na naslednji način:

Vrsta Point = zapis

slikovne pike: Tcolor - nastavi barve pikslov platna, X, Y - koordinate pikslov. Lastnost pikslov je primerna za risanje grafov z uporabo točk izbrane barve.

Glavne metode razreda TCanvas

    postopek Premakni na(x,y:celo število); - premakne pero brez risanja črte do točke s koordinatami (x, y).

    Postopek LineTo(x,y:celo število); - nariše črto od trenutne točke do točke s koordinatami (x, y).

Primer : Narišite diagonalno modro črto na obliki od zgornjega levega kota oblike do spodnjega desnega kota.

Pen.color:= clblue;

Premakni na (0,0); LineTo(ClientWidth, ClientHeight);

    postopek Pravokotnik(x1,y1,x2,y2:celo število); - nariše pravokotnik: x1,y1 – koordinate zgornjega levega kota; x2, y2 sta koordinati spodnjega desnega kota.

Primer : na sredino oblike narišite rumeno osenčen kvadrat s stranico 60 slikovnih pik.

var Xc,Yc: celo število; //

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.color:=clyellow;

Platno.pravokotnik(xc-30,Yc-30,xc+30,Yc+30);

    postopek Elipsa(x1,y1,x2,y2:celo število); - nariše elipso, vpisano v pravokotnik z navedenimi koordinatami.

Primer : nariši elipso, vpisano v komponento PaintBox.

PaintBox1.Canvas.Pen.Width:=4; //širina črte = 4 slikovne pike

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

    postopek Poligon(); - nariše sklenjen poligon, določen z nizom koordinat.

Primer : narišite zapolnjen romb, ki povezuje sredine stranic oblike

var Xc,Yc:celo število; // koordinate središča območja odjemalca obrazca

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.Color:=Rgb(275,140,70); // oranžna barva senčenje

Canvas.Polygon();

konec;

    Postopek Lok(x1,y1,x2,y2,x3,y3,x4,y4:celo število); - prikaže lok elipse, ki je omejen s pravokotnikom (x1, y1, x2, y2). Lok je prikazan od točke s koordinatami (x3,y3) do točke s koordinatami (x4,y4) proti v smeri urinega kazalca.

Primer : narišite lok elipse, ki povezuje sredino zgornje strani komponente
PaintBox s sredino desne strani.

Procedure Tform1.Button1Click(Sender:Object);

var X3,y3,x4,y4: Celo število;

S PaintBox1 do

Canvas.Pen.Color:= clWhite;

Platno.Pen.Width:= 3;

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

X3:= ClientWidth div 2;

X4:= Širina odjemalca;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

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

Konec;

    postopek Akord(x1,y1,x2,y2,x3,y3,x4,y4:celo število); - nariše tetivo - premico, ki povezuje 2 točki elipse: točko s koordinatami (x3, y3) s točko (x4, y4).

Primer : Zamenjajte metodo Chord v podanem primeru za metodo ARC in pridobite naslednji rezultat.

    postopek pita(x1,y1,x2,y2,x3,y3,x4,y4:celo število); - nariše odsek elipse, ki povezuje središče elipse s koordinatama (x3,y3) in (x4,y4).

Primer : V primeru, danem za metodo ARC, si zamislite metodo PIE in dobite ta rezultat.

    postopek TextOut(x,y:celo število;Besedilo:niz); - izpiše niz, posredovan v parametru Text, v pravokotnik, katerega zgornji levi kot je določen x,y koordinate. Lastnosti pisave nastavi orodje Font.

Primer : na dnu obrazca zapišite ime izrisanega grafa.

Canvas.Font.Height:=20 ; //višina znaka 20 slikovnih pik

Canvas.Font.Color:=clblue;

Canvas.TextOut(10, ClientHeight-24, 'graf funkcije SIN(X)');

Grafične komponente

Delphi ponuja številne že pripravljene komponente, ki vam omogočajo izboljšave Uporabniški vmesnik. Te komponente se nahajajo na strani Dodatno in Sistem palete komponent.

KomponentaSlika(RazredTimage) – ustvarjen za prikaz grafičnih slik, shranjenih v zunanjih datotekah s končnicami:

    Ico (ikona, piktogram);

    Bmp (bitna slika, bitna slika);

    Wmf, .emf (metadatoteka);

    Jpg, .jpeg (JPEG stisnjena slika).

Osnovno lastnosti :

Samodejna velikost:boolean – ko je nastavljeno na true, komponenta prilagodi svoje dimenzije velikosti naložene slike; privzeto je napačno.

Raztegniti:boolean – če je res, naložena vrednost zavzema celotno območje komponente; privzeto je napačno.

Platno:Tcanvas – uporablja se za risanje znotraj komponente med izvajanjem programa.

Slika:Tpicture - Določa sliko, ki je postavljena v komponento.

Osnovno metode razred Tslika:

Postopek LoadFromFile(Ime datoteke: niz); - naloži sliko iz datoteke z imenom Filename v komponento.

Postopek SaveToFile(Ime datoteke: niz); - shrani sliko iz komponente v datoteko z imenom Filename.

KomponentaPaintBox - določa pravokotno območje risanja. Glavna lastnina je Platno, so na voljo vse metode razreda Tcanvas, nima neodvisnih lastnosti.

Primer : narišite rumeno elipso, vpisano v komponento PaintBox1.

Procedure Tform1Button1Click(sender:Tobject);

S PaintBox1.Canvas do

Brush.Color:=clyellow;

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

konec;

KomponentaBitBtn rastrski gumb

Gumb BitBtn, za razliko od standardnega, lahko poleg naslova (Caption) vsebuje sliko, ki jo določa lastnost Glif. Obstaja nabor standardnih gumbov BitBtn, z vnaprej določenimi lastnostmi (z določeno sliko, napisom in namenom) - vrsto standardnega gumba izberemo preko lastnosti prijazna. Vrsta=(bkCustom, bkAbort,bkCancel, bkClose …)

Naloga št. 1

Ustvarite aplikacijo, ki vsebuje dve komponenti slike in 4 gumbe na glavnem obrazcu ("Naloži sliko", "Izgradi geometrijsko figuro", "Spremeni barvo", "Izhod") in vam omogoča, da:

a) naložite uporabniško izbrano grafično sliko v komponento Image1, tako da slika zavzame celotno območje komponente Image.

b) pod komponento Image1 prikaži napis »To je slika iz datoteke.

(za kakršne koli meritve velikosti in položaja komponenteSlika1 napis naj
ki se nahaja strogo pod komponento).

c) znotraj komponente Slika2 narišite geometrijski lik: zapolnjen segment elipse, ki povezuje sredino komponente Slike s sredinama spodnje in desne strani komponente Slike.

(za vsako spremembo velikosti in položaja komponenteSlika2 mora biti slika pravilno sestavljena, tj. v skladu s specifikacijo glede komponenteSlika2)

d) spremenite barvo črte figure, narisane v Image2, na zahtevo uporabnika s komponento ColorDialog.

Naloga št. 2

Ustvarite aplikacijo, ki vam omogoča, da naključno postavite več oznak (na primer besedo "Hura!") v komponento slike. Za izvedbo tega uporabite generator naključnih števil Randomize in funkcijo Random.

Mere slikovne komponente, besedo, prikazano na sliki, in število besed mora vnesti uporabnik.

Naloga št. 3

Ustvarite aplikacijo, ki vam omogoča, da izberete ime geometrijske oblike iz ListBox in narišete izbrano obliko v komponenti Slika. Barva oblike se izbere iz komponente RadioGroup.

Naloga št. 4

Komponento PaintBox1 razdelite na 4 enake dele, vsak del pobarvajte z drugo barvo, na primer: modro, rumeno, zeleno, rdečo.

Poleg vsakega vogala PaintBox1 zapišite koordinate tega vogala (glede na izvor obrazca, na katerem se nahaja komponenta PaintBox1).

Naloga št. 5

Z

izberite vrsto oblike, ki bo narisana iz komponente Radiogroup1, barvo polnila iz komponente Radiogroup2 in narišite izbrano obliko v komponenti Image.

Naloga št. 6

Ustvarite aplikacijo, ki uporabniku omogoča nastavitev dimenzij komponente PaintBox1 (v slikovnih pikah).

Komponento PaintBox1 razdelite na 2 enaka dela, znotraj vsakega dela narišite elipso, zapolnjeno z barvo, ki jo je uporabnik izbral v ColorDialogu.

Naloga št. 7

Z Ustvarite aplikacijo, ki vam omogoča:

izberite ime geometrijske oblike iz ListBoxa in narišite izbrano obliko v komponenti Slika. Oblika mora biti zapolnjena z barvo, ki jo izbere uporabnik v komponenti ColorDialog, če je v komponenti RadioGroup izbrana možnost Da.

Naloga št. 8

Ustvarite aplikacijo, ki uporabniku omogoča nastavitev dimenzij komponente PaintBox1 (v slikovnih pikah).

Komponento PaintBox1 razdelite na 4 enake dele, znotraj vsakega dela narišite drugo geometrijsko obliko (elipsa, romb, trikotnik in pravokotnik). Barvo vsake oblike izbere uporabnik v ColorGridu.

Naloga št. 9

izberite ime geometrijske oblike s seznama
oblike (elipsa, romb, pravokotnik) in narišemo
izbrano obliko v komponenti Slika. Lokacija
oblike v komponenti Slika (I četrtina, II četrtina,

III ali IV četrtina) in izbrana je barva figure
iz komponent RadioGroup.

Naloga št. 10

Ustvarite aplikacijo, ki uporabniku omogoča nastavitev dimenzij komponente PaintBox1 (v slikovnih pikah).

Zagotovite, da stranska velikost ne sme biti besedilo, ne sme biti negativno število in ne sme presegati manjše velikosti obrazca.

Komponento PaintBox1 razdelite na 4 enake dele, znotraj vsakega dela narišite geometrijsko obliko, ki jo uporabnik izbere v Comboboxu (elipsa, romb, trikotnik in pravokotnik). Barvo figure izbere uporabnik v ColorBoxu.

Naloga št. 11

Ustvarite aplikacijo, ki vam omogoča:

iz komponente Radiogroup izberite položaj risbe

v komponenti Slika pravokotnega trikotnika nastavite
barva senčenja figure ali barva obrisa, odvisno od
omogočanje gumbov potrditvenega polja. Izberite barvo prek
Komponenta ColorGrid.

Naloga št. 12

Ustvarite aplikacijo, ki uporabniku omogoča nastavitev dimenzij komponente PaintBox1 (v slikovnih pikah).

Zagotovite, da stranska velikost ne sme biti besedilo, ne sme biti negativno število in ne sme presegati manjše velikosti obrazca.

Komponento PaintBox1 razdelite na 2 enaka dela, znotraj enega od delov narišite geometrijsko obliko, ki jo uporabnik izbere v Comboboxu (elipsa, romb, trikotnik in pravokotnik). Barvo figure izbere uporabnik v ColorBoxu.

Na primer, barvo obrazca lahko spremenite na naslednji način:

form1.Color:= ColorBox1.Colors;

Naloga št. 13

Ustvarite aplikacijo, ki vam omogoča:

a) na sredino lika narišemo kvadrat (velikost stranice kvadrata vnese uporabnik). Zagotovite, da stranska velikost ne sme biti besedilo, ne sme biti negativno število in ne sme presegati manjše velikosti obrazca.

b) razdelite kvadrat na eno diagonalo ali dve, odvisno od vključitve gumbov potrditvenega polja, in pobarvajte vsak nastali trikotnik z drugo barvo. Barvo izbira uporabnik.

Naloga št. 14

Ustvarite aplikacijo, ki uporabniku omogoča nastavitev dimenzij komponente PaintBox1 (v slikovnih pikah).

Zagotovite, da stranska velikost ne sme biti besedilo, ne sme biti negativno število in ne sme presegati manjše velikosti obrazca.

Komponento PaintBox1 razdelite na 2 enaka dela, znotraj enega dela narišite romb, znotraj drugega pa poljuben trikotnik. Barvo figure izbere uporabnik v ColorBoxu.

Na primer, barvo obrazca lahko spremenite na naslednji način:

form1.Color:= ColorBox1.Colors;

Naloga št. 15

Ustvarite aplikacijo, ki vam omogoča:

a) vodoravno in navpično nastavite dimenzije komponente Slike, da bodo enake in enake številu, ki ga uporabnik vnese s tipkovnice;

(podajte, da stranska velikost ne sme biti besedilo, ne sme biti negativno število in ne sme presegati manjše velikosti obrazca)

b) komponento Slika razdelite na 4 enake kvadrate z dvema modrima črtama;

c) znotraj vsakega nastalega kvadrata narišite vanj včrtan krog (uporabnik lahko izbere barvo krogov v pogovornem oknu za izbiro barve).

Naloga št. 16

Ustvarite aplikacijo, ki uporabniku omogoča nastavitev dimenzij komponente PaintBox1 (v slikovnih pikah).

Zagotovite, da stranska velikost ne sme biti besedilo, ne sme biti negativno število in ne sme presegati manjše velikosti obrazca.

Razdelite komponento PaintBox1 na 9 enakih delov in pobarvajte vsak nastali pravokotnik šahovnice. Barvo polnila izbere uporabnik v ColorBoxu.

Na primer, barvo obrazca lahko spremenite na naslednji način:

form1.Color:= ColorBox1.Colors;

Naloga št. 17

Na obrazec postavite dve komponenti slike in štiri gumbe: Barva črte, Barva polnila, V redu in Izhod; in komponento Uredi.

Ko kliknete gumb OK, se na sliki 1 nariše kvadrat s stranico X, na sliki 2 pa pravokotni trikotnik z enakimi kraki, od katerih ima vsaka dolžino X.

Oglišče trikotnika sovpada z izhodiščem slike 2. Eno od oglišč kvadrata sovpada z izhodiščem slike 1.

Gumb OK postane na voljo šele, ko izberete barvo črte in barvo polnila za risanje oblike.

X – izbere naključno z uporabo Naključne funkcije in komponenta Urejanje bi morala prikazati vrednost X.

Naloga št. 18

Ustvarite aplikacijo, ki uporabniku omogoča nastavitev dimenzij komponente PaintBox1 (v slikovnih pikah).

Komponento PaintBox1 razdelite na 4 enake dele, znotraj uporabniško izbranega dela naj se zgradi zapolnjen krog, katerega velikost določi uporabnik. Uporabnik izbere barvo polnila v ColorBoxu.

Na primer, barvo obrazca lahko spremenite na naslednji način:

form1.Color:= ColorBox1.Colors;

Za prikaz grafičnih informacij knjižnica Delphi ponuja komponente, katerih seznam je podan v tabeli. 6.

Tabela 6

Komponente za prikaz grafičnih informacij

Komponenta Stran Opis
Slika Dodatno Uporablja se za prikaz grafike
PaintBox (okno za risanje) Sistem Uporablja se za ustvarjanje območja na obrazcu, v katerem lahko rišete
DrawGrid (tabela risb) Dodatno Uporablja se za prikaz nebesedilnih podatkov v vrsticah in stolpcih
Grafikon (grafi in grafi) Dodatno Komponenta spada v družino komponent TeeChart, ki se uporabljajo za izdelavo grafikonov in grafov
Chartfx (grafikoni in grafi) ActiveX Urejevalnik grafikonov in grafov
FIBook (strani Excel) ActiveX Komponenta za vnos in obdelavo numeričnih informacij
VtChart (grafi) ActiveX Okno za diagrame

Poleg tega lahko prikažete in vnesete grafične informacije na površino katere koli okenske komponente, ki ima lastnost Platno- platno.

Tabele slik – komponente DrawGrid in StringGrid

Komponenta DrawGrid se uporablja za ustvarjanje tabele v aplikaciji, ki lahko vsebuje grafične podobe. Ta komponenta je podobna komponenti StringGrid saj slednji izhaja iz DrawGrid. Zato v DrawGrid prisotne so vse lastnosti, metode, dogodki komponente StringGrid razen tistih, ki so povezane z besedilom, tj. razen lastnosti Celice, Stolpci, vrstice, predmeti. S tega vidika komponenta StringGrid ima bistveno večje zmožnosti kot DrawGrid saj lahko v celice shrani slike in besedila. In če želite vnesti besedilo v nekatere celice DrawGrid potem boste za to morali uporabiti metode za prikaz besedila na orisu, kar ni zelo priročno.

Komponente DrawGrid in StringGrid imeti oris platno, na kateri lahko objavljate slike.

Obstaja metoda Cell-Rect, ki vrne površino platna, dodeljeno dani celici. Ta metoda je opredeljena kot

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

Kje ACol in ARow- indeksi stolpcev in vrstic, ki se začnejo z 0, na presečišču katerih se nahaja celica. Območje, ki ga vrne ta funkcija, je območje platna, na katerem je mogoče narisati želeno sliko. Na primer, operater

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

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

način kopiranja CopyRect v celico (1,1) tabele DrawGridl slika iz komponente BitMap. Ta celica je druga z leve in druga z vrha v tabeli, saj se indeksi začnejo pri 0. Upoštevajte, da če je celica manjša od velikosti kopirane slike, bo prikazan le zgornji levi del slike celica.

Slika na sestavnem platnu DrawGrid in StringGrid, kot na platnu katere koli komponente je predmet izbrisa, ko okno aplikacije prekrivajo druga okna ali na primer, ko je aplikacija pomanjšana.

Priročen način za vnos slik v celice DrawGrid je uporaba obdelovalca dogodkov OnDrawCell. Ti dogodki se zgodijo za vsako celico tabele v času, ko je ponovno narisana. Glava upravljalnika izgleda takole:

procedure TForml.DrawGridlDrawCell(Pošiljatelj: TObject;

ACol, ARow: celo število; Rect: TRect; stanje: TGridDrawState)

Parameter Država označuje stanje celice. Je niz, ki lahko vsebuje naslednje elemente: gdIzbrano- izbrana celica, gdFocused- celica, ki je v fokusu, gdFixed- celica v fiksnem območju tabele. Parameter Država lahko uporabite za drugačen prikaz celic v različnih stanjih.

Komponenta oblike

Komponenta oblike le pogojno lahko uvrstimo med sredstva za prikaz grafičnih informacij, saj preprosto predstavlja različne geometrijske oblike, ustrezno senčene. Glavna lastnost te komponente je oblika(obrazec), ki ima lahko naslednje vrednosti:

StRectangle – pravokotnik;

StSquare – kvadrat;

StRoundRect - pravokotnik z zaobljenimi vogali;

StRouhdSquare - kvadrat z zaobljenimi vogali;

StEllipse – elipsa;

StCircle - krog.

Druga bistvena lastnost komponente je Čopič(čopič). Ta lastnost je objekt vrste TBrush, ki ima številne podlastnosti, zlasti barvo (Čopič. Barva) in slog (Brush.Style) polnjenje figure. Polnilo za nekatere vrednosti sloga lahko vidite na sl. 3.2. Tretja specifična lastnost komponente oblika- Pero(pero), ki določa slog črte.

Komponenta grafikona

Zdaj pa poglejmo komponento grafikon. Ta komponenta vam omogoča izdelavo različnih grafikonov in grafov, ki izgledajo zelo impresivno. Komponenta grafikon ima veliko lastnosti, metod, dogodkov, tako da bi morali temu posvetiti celo poglavje, če bi upoštevali vse. Zato se bomo omejili na upoštevanje le glavnih značilnosti grafikon. Ostale najdete v Delphijevi vgrajeni pomoči ali pa jih preprosto preizkusite z eksperimentiranjem z diagrami.

Komponenta grafikon je vsebnik predmetov serija- dediči razreda TChartSeries. Vsak tak objekt predstavlja vrsto podatkov, za katere je značilen določen slog prikaza: določen graf ali diagram. Vsaka komponenta grafikon lahko vključuje več epizod. Če želite prikazati graf, bo vsaka serija ustrezala eni krivulji na grafu. Če želite prikazati grafikone, lahko za nekatere vrste grafikonov prekrijete več različnih serij eno na drugo, za druge (kot so tortni grafikoni) pa bo verjetno videti grdo. Vendar tudi v tem primeru lahko nastavite za eno komponento grafikon več nizov enakih podatkov z različni tipi diagrami. Nato lahko z vsakim aktiviranjem enega od njih omogočite uporabniku izbiro vrste grafikona, ki prikazuje podatke, ki ga zanimajo.

Namestite eno ali dve komponenti grafikon na obrazcu in si oglejte lastnosti, ki se odprejo v inšpektorju objektov. Tukaj je nekaj razlag nekaterih izmed njih.

AllowPanning - določa zmožnost uporabnika, da se med izvajanjem pomika po opazovanem delu grafa s pritiskom na desni gumb miške. Možne vrednosti: pmNone - drsenje je prepovedano, pmHori/ontal, pm Vertical ali pmBoth - drsenje je dovoljeno samo v vodoravni smeri, samo v navpični smeri ali v obe smeri.

AhowZoom - omogoča uporabniku, da spremeni povečavo slike med izvajanjem tako, da z miškinim kazalcem izreže dele grafikona ali grafa. Če je okvir fragmenta narisan v desno in navzdol, se ta fragment raztegne tako, da pokrije celotno polje grafa. In če je okvir narisan navzgor in v levo, se obnovi prvotno merilo.

Naslov - določa naslov diagrama.

Noga - določa napis pod diagramom. Privzeto nič. Besedilo podpisa določa podlastnost Besedilo.

Okvir - določa okvir okoli diagrama.

Poleg številnih navedenih lastnosti v inšpektorju objektov so gumbi z elipsami, ki vam omogočajo, da pokličete eno ali drugo stran urejevalnika grafikonov - večstransko okno, ki vam omogoča nastavitev vseh lastnosti grafikonov. Urejevalnik diagramov lahko prikličete tudi z dvojnim klikom na komponento grafikon ali z desnim klikom nanj in v pojavnem meniju izberite ukaz Uredi grafikon.

Dvokliknite zgornjo komponento grafikon. Preusmerjeni boste v okno urejevalnika grafikonov na strani grafikonov, ki ima več zavihkov. Najprej vas bo zanimal zavihek Serija na njem. Kliknite na gumb Dodaj - dodajte serijo. Odprlo se bo okno, kjer lahko izberete vrsto grafikona ali grafa. V tem primeru izberite Tortni grafikon. Z zavihkom Naslovi lahko nastavite naslov grafikona, zavihek Legenda omogoča nastavitev parametrov za prikaz legende grafikona (seznama simbolov) ali pa ga v celoti odstranite z zaslona, ​​zavihek Panel določa videz plošče na na katerem je grafikon prikazan, vam zavihek 3D omogoča spreminjanje videza vašega grafikona: nagib, premik, debelino itd.

Ko delate v urejevalniku grafikonov in ste izbrali vrsto grafikona, komponente grafikon Vaš obrazec prikaže svoj videz s pogojnimi podatki, ki so vanj vneseni. Zato lahko takoj vidite rezultat uporabe različnih možnosti za svojo aplikacijo, kar je zelo priročno.

Stran serije, ki ima tudi številne zavihke, vam omogoča izbiro dodatnih možnosti prikaza serije. Zlasti za tortni grafikon je na zavihku Oblika koristno omogočiti možnost Circled Pie, ki bo zagotovila, da bo grafikon prikazan kot krog pri kateri koli velikosti komponente Grafikon. Na zavihku Oznake gumbi skupine Slog določajo, kaj bo zapisano na oznakah, ki se nanašajo na posamezne segmente grafikona: Value - vrednost, Percent - odstotki, Label - imena podatkov itd.

Če želite, lahko tej komponenti grafikona dodate drugo enako serijo tako, da kliknete gumb Kloniraj na zavihku Serije na strani Grafikon in nato za to nove serije Kliknite gumb Spremeni in izberite drugo vrsto grafikona, na primer stolpec.

Zaprite urejevalnik grafikonov, izberite spodnjo komponento grafikona v aplikaciji in ponovite nastavitev njenih lastnosti z urejevalnikom grafikonov. V tem primeru boste morali določiti dve seriji, če želite na grafu prikazati dve krivulji, in izbrati vrsto črtnega grafikona. Zaradi govorimo o o grafih lahko uporabite zavihka Osi in Stene, da določite koordinatne značilnosti osi in tridimenzionalnih robov grafa.

To je to za oblikovanje videz aplikacija se konča. Vse kar ostane je, da napišete kodo, ki določa podatke, ki jih želite prikazati. Za testno aplikacijo nastavimo le nekaj stalnih podatkov v tortni grafikon in nekaj funkcij v grafe.

Če želite nastaviti prikazane vrednosti, morate uporabiti metode serije. Osredotočimo se le na tri glavne metode.

Metoda jasno počisti vrsto predhodno vnesenih podatkov.

Metoda Dodaj:

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

omogoča dodajanje nove točke v diagram. Parameter AVrednost ustreza dodani vrednosti, parameter ALabel- oznako, ki bo prikazana na diagramu in v legendi, Abarva- barva. Parameter ALabel- neobvezno, lahko je prazno: ‘ ‘. Metoda DodajXY:

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

omogoča dodajanje nove točke na funkcijski graf. Opcije AXVrednost in AYVrednost ustrezajo argumentu in funkciji. Opcije ALabel in Acolor enako kot pri metodi Dodaj.

Tako bi lahko postopek nalaganja podatkov v našem primeru izgledal takole:

konst Al=155; A2=251; A3=203; A4=404; var i:beseda; začeti

Začnite s serijo

Dodaj(Al,"Delavnica l",clRumena);

Dodaj(A2,"Delavnica 2",clBlue);

Dodaj(A3,"Delavnica 3",clRdeča);

Dodaj(A4,"Delavnica 4",clVijolična); konec;

Series2.Clear; SerijaS.Clear; za i:=0 do 100 začnite

Serija2.AddXY(0,02*Pi*i,sin(0,02*Pi*i)

SeriesS.AddXY(0,02*Pi*i,cos(0,02*Pi*i) konec;

ClRdeča); ,clModra);

Operaterji jasno so potrebni, če nameravate posodobiti podatke, medtem ko aplikacija teče.

S tem smo zaključili naš uvod v komponento grafikon. Res je, upoštevali smo le majhen del njegovih zmogljivosti.


“Prikaz grafičnih informacij v Delphiju” Oris teme: 1.C S pppp ooooo ssss ooooo bbbb yyyy in in in yyyy vvvv ooooo dddd aaaa yy g rrrrr aaaa ffff iii hhhh eee ssss kkkk ooooo yyyy iiii ii nnnn ffff oooo rr rr mmmm ahhh tskst iiiiii iiiiii in iv in 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 nnnnn ooooo kkkk O O tttt ooooo bbbb rrrrr aaa zh zhzh eee nnnnn eeee eee g g y g eee ooooo mmmm eee ttt rrrr eeee hhchh eee ssss kkkk eeee xxxx ffff iii yyyy uuuu rrrrr P Pooooo ssss ttt rrrrr ooooo eee nnnn eeee eeee y yy g rrrrr aaaa ffff eeee kkkk oooo vvvv i in in d d d iiiii jaz aaaa yyyy rrrrr aaaa mmmm mmmm....


1. Metode za prikaz grafičnih informacij. V Delphiju obstaja več načinov za prikaz grafičnih informacij: Izhod vnaprej pripravljenih slik (komponente slike, oblike); P Izdelava grafov in diagramov (komponenta grafikona itd.); F Oblikovanje slik programsko (objekt Canvas).


2. Prikaz 2. Prikaz slik. Prikaz slik z uporabo komponente Image, ki smo jo pregledali v LLC DDDDD DDDD LLC Yiyy in in ZZZZ P P P P PRRRDDDDDDDDDDDDD IIII XXXX T T T T T T T T T T TOTEMMM .... Tukaj bomo obravnavali primer izvedbe najpreprostejša animacija z občasnim spreminjanjem prikazane slike v komponentah Image. PPPP EDURRRREEEE YYYE TTTT IIII n N N n AAAAAA PP PRRR IIII MMMMEEEE RRRRR ...






3.Prikaz 3.Prikaz geometrijskih likov. IN Iz več komponent Shape lahko ustvarite preproste risbe. P S programskim spreminjanjem položaja (.Left,.Top), velikosti (.Width,.Height) in barve (Brush.Color) komponent Shape v risbi lahko implementirate elemente najpreprostejše animacije. R R R R aaaa ssssssss mmmm ooooh tttt rrrrr eee tttt yee p p p p rrrrr iii mmmm eee rrrrr....


4. Konstrukcija 4. Konstrukcija grafov in diagramov. Diagrami so zasnovani za bolj vizualno predstavitev numeričnih nizov podatkov, njihov vizualni prikaz in analizo. PPPP rrrrr iiii mmmm eee rrrrr.... Za ustvarjanje grafikonov v Delphiju obstaja več komponent, ena od njih je komponenta Grafikon (razdelek TeeChart Std).










Grafi in diagrami. Podatki, ki jih je treba prikazati, se običajno posredujejo v grafikon programsko, na primer: Series1.Clear; (počisti niz) za i:=1 do N do Series1.addxy(i, A[i], clGreen); Vrednost na osi X Vrednost na osi Y Oznaka osi X Barva podatkov na grafikonu PP aaaa ssssssssss mmmm ooooo tttt rrrrr eee tttt yee p p p p prrrr iiii mmmm eee rrrrr p p p poooo ssss ttt rrrrr ooooo eee nnnn iiii ii jayyy yyyy rrrrr aaaa ffff iii kkkk aaaa f f f f uuuu nnnn kkkk tsstst iiiiii y y y y = = = = S S S S iiii nnnn ((((xxxx))))


Naprej: Laboratorijske vaje ““““ 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 eee tttt rrrrr iiii hch chh eee ssss kkkk iiii xxxx ffff iiii yyyy uuuu rrrrr in in in xxxx a a a a a nnnn iiii mmmm aaaa tsstst iiii yayayaya """"...Naloga: 1) Razvijte aplikacijo za izvajanje enostavne animacije z občasnim spreminjanjem prikazane slike v komponentah slike. (Število slik je najmanj tri, slike izberite sami).




Naprej: Laboratorijske vaje ““““ PPPP oooo ssss tttt rrrrr ooooo eee nnnn iiii eee yy g rrrrr aaaa ffff iiii kkkk ooooo vvvv i i i i d d d iiii aaaa yyyy rrrrr aaaa mmmm mmmm """". .. Naloga: 1)M spremenite aplikacijo od laboratorijsko delo 9 (Prikaz podatkov v tabeli). Dodajte možnost prikaza nekaterih podatkov iz tabele v histogramu ali tortnem grafikonu. 2) Zgradite graf dane funkcije.

Visual Component Library (VCL) Delphi nam ponuja naslednje vizualne komponente za prikaz grafičnih informacij: Image (slika), PaintBox (okno za risanje), DrawGrid (tabela slik), Chart (grafi in grafi), Animate (izhodni video posnetki ), kot tudi obrazec. Te komponente imajo lastnost Canvas (o kateri smo govorili zgoraj), ki omogoča dostop do vsake slikovne pike. Seveda vam za delo z grafiko v Delphiju ni treba risati slikovno piko za slikovno piko; sistem Delphi ponuja zmogljiva orodja za delo z grafiko.

Oglejmo si podrobneje zgornje komponente:

Komponenta slike

Je objekt razreda TImage. Uporablja se za prikaz slik, prebranih iz grafičnih datotek. Privzeto prikaže slike v formatu *.bmp na površini obrazca. Če želite izpisati slike v formatu jpg, morate v direktivo uses vključiti modul JPEG. Nahaja se na zavihku Dodatno v paleti komponent.

Po postavitvi komponente Slika na obrazec le-ta prevzame obliko izbranega pravokotnega območja.

Slika 9 – Komponenta slike na obrazcu

Če želite odpreti pogovorno okno za izbiro želene slike, morate z nadzornikom objektov narediti naslednje. Če želite to narediti, poiščite lastnost Picture in kliknite tri pike na levi strani. Odpre se okno Urejevalnik slik in v njem izberite Naloži, v oknu, ki se odpre, izberite slikovno datoteko.

To je mogoče storiti tudi programsko s klicem metode LoadFromFile lastnosti Picture:

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

kjer je name_pic.jpeg ime datoteke.

Tabela 8 - Osnovne lastnosti komponente Image

Lastnina

Opis

Slika, prikazana v polju komponente

Dimenzije komponent. Če so te mere manjše od velikosti ilustracije in so lastnosti Stretch, AutoSize in Proportional nastavljene na False, se prikaže del slike

Omogoča samodejno spreminjanje velikosti slik brez popačenja. Za izvedbo skaliranja mora biti lastnost AutoSize nastavljena na False

Omogoča samodejno spreminjanje velikosti (krčenje ali raztezanje) slike, da ustreza velikosti komponente slike. Če velikost komponente ni sorazmerna z velikostjo slike, bo slika popačena

Omogoča samodejno spreminjanje velikosti komponente, da ustreza velikosti slike

Omogoča določitev vodoravnega položaja slike v polju komponente slike, če je širina slike manjša od širine komponente.

Površina za prikaz grafike

Določa prozorno barvo ozadja slike

Primer 1: Napišite program za ogled slik z uporabo komponente Image. Program mora imeti naslednje zmogljivosti:

  • · ogled slik v mapi;
  • · ogled slike v polni velikosti ali v formatu, ki je najbolj primeren za velikost okna;
  • · upravljanje slikovnih datotek ter tiskanje, shranjevanje, brisanje in urejanje slik;
  • · po potrebi odprite sliko v programu za urejanje;

Slika 10 - Okno programa pred zagonom

Ustvarjanje projekta:

  • 1. Ustvarite mapo za programske datoteke in zaženite integrirano razvojno okolje Delphi.
  • 2. V obrazec dodajte komponente:

Najprej bomo na obrazec postavili komponento Image, glavno komponento, s katero bomo morali delati. Poleg tega bomo potrebovali naslednje komponente:

  • · ScrollBox Potreben je, ko bo v načinu polne velikosti slika presegla sliko. Njegovi lastnosti Aling dodelimo vrednost alClient, tako da se njegove dimenzije spreminjajo sorazmerno z velikostjo okna. In nanj postavite slikovno komponento;
  • · Dodali bomo tudi pogovorni komponenti SavePictureDialog in OpenPictureDialog, namenjeni shranjevanju in odpiranju slik. Prvo potrebujemo za kopiranje slike v izbrani imenik, drugo - za klic odpiralnega pogovornega okna grafično datoteko. Nahajajo se na strani Dialogs palete komponent. Na tej strani potrebujemo tudi komponento PrintDialog, ki jo moramo priklicati pogovorno okno za izbiro tiskalnika za tiskanje.
  • · Dodajte glavni meni za dodajanje glavnega menija programu in XPManifest za bolj barvit dizajn
  • · Nekje moramo shraniti tudi imena slik, ki se nahajajo v delovnem imeniku. Komponenta ListBox je primerna za te namene; lahko jo skrijete pri obdelavi dogodka Create obrazca Form1.
  • · Za namestitev navigacijskih gumbov in priročno delo z njimi bomo dodali ploščo Veil, na katero bomo postavili te gumbe (Prejšnja slika, Naslednja slika, Prava velikost, Prilagodi velikosti, Izbriši, Kopiraj v, Natisni, Uredi). SpeedButton je izbran kot komponenta zanje.
  • · Dodajte časovnik za lovljenje pritiskov tipk »Levo« (prejšnja slika), »Desno« (naslednja slika) in tipko »Del« (brisanje slike).
  • · In še ena komponenta - ProgressBar, ki prikazuje proces nalaganja velikih datotek *.Jpg.
  • 3. Napišite kodo za obdelavo dogodka klika gumba (Prejšnja slika, Naslednja slika, Prava velikost, Prilagodi velikosti, Izbriši, Kopiraj v, Natisni, Uredi). Napišite kodo za obdelavo dogodka klika na elemente menija MainMenu (Izhod, Odpri, Zapri, Ustvari).
  • 4. Nastavite začetne nastavitve za izdelavo obrazca. Dvakrat kliknite na prosti prostor obrazec in napišite kodo postopka procedure TForm1.FormCreate(Sender:TObject), glejte kodo modula v Dodatku 1.
  • 5. Napišite postopke naslednje vrste:

procedure FindFileInFolder(path, ext: string);

Ta postopek pregleda mapo poti za datoteke z uporabo maske ext.

Celoten seznam kode programskega modula se nahaja v dodatku 1 (programski seznam 3).

  • 1. Naštejte zmožnosti komponente Image.
  • 2. Katerega razreda je objekt slike?
  • 3. 3. Katero vrsto datoteke privzeto podpira komponenta Image?
  • 4. 4. Naštejte glavne lastnosti komponente Image.
  • 5. 5. Katera lastnost shrani sliko komponente Image?

Opis predstavitve po posameznih diapozitivih:

1 diapozitiv

Opis diapozitiva:

2 diapozitiv

Opis diapozitiva:

Vizualno okolje Delphi programiranje, tako kot Windows, podpira GUI uporabnik (GDI – Graphic Delphi Interface). V Delphiju obstajata dva načina za prikaz grafičnih informacij: prikazovanje vnaprej pripravljenih slik; risanje iz programa.

3 diapozitiv

Opis diapozitiva:

Prva metoda temelji na uporabi komponent Slika in Oblika. Uporabite lahko že pripravljeno sliko (ikono) ali pa jih ustvarite sami z urejevalnikom slik. Drugi način je programsko ustvarjanje slik z uporabo predmeta Canvas.

4 diapozitiv

Opis diapozitiva:

Delphi ima na razpolago poseben predmet, ki je oblikovana kot lastnost Canvas. Na voljo je samo med delovanjem aplikacije, zato jo je mogoče nadzorovati samo iz programa s pisanjem zahtevana koda v jeziku Object Pascal. Če ima predmet lastnost Canvas, lahko rišete po njegovi površini. Najprimernejša kandidata za to vlogo sta sama forma in posebna komponenta PaintBox.

5 diapozitiv

Opis diapozitiva:

Lastnosti predmeta Canvas: Pero – lastnost za risanje črt in robov geometrijskih oblik. Pero sledi ukazom grafičnega kazalca in ima svoje ugnezdene lastnosti: Barva – določa barvo črte (privzeto črna); Način – slog risanja (ima veliko pomenov, ki tukaj niso navedeni); Style – slog črte, ki ima lahko naslednje vrednosti: рsSolid – polna (privzeto); рsDosh – črtkano; psDot – pikčasto; рsDoshDot – pikčasta črta (in druge lastnosti); Widh – debelina črte (privzeto 1 piksel);

6 diapozitiv

Opis diapozitiva:

Čopič – lastnost za polnjenje oblik z naslednjimi ugnezdenimi lastnostmi: Barva – barva čopiča (privzeto bela); Style – vzorec čopiča, ki ima lahko naslednje vrednosti: bsClear – enobarvna barva; bsHorizontal – vodoravne črte; bsVertical – navpične črte; bsFDiagonal – leve diagonalne črte; bsBDiagonal – desne diagonalne črte; bsCross – celica; bsDiagCross – poševna celica;

7 diapozitiv

Opis diapozitiva:

Pisava – lastnost za prikaz besedila, ki ima naslednje ugnezdene lastnosti: Barva – barva znaka; Višina – višina pisave v slikovnih pikah; Ime – ime pisave; Velikost – velikost pisave; Style – slog pisave, ki ima lahko naslednje vrednosti: fsBold – krepko; fsItalic – ležeče; fsPodčrtano – podčrtano; fsStrikeOut – prečrtano;

8 diapozitiv

Opis diapozitiva:

PenPos (Pen Position) – lastnost za shranjevanje trenutnega položaja risanja (določi položaj peresa v območju risanja v ta trenutekčas); Piksli – lastnost polja za zapisovanje in branje koordinat posameznih točk risalnega območja (»platna«).

Diapozitiv 9

Opis diapozitiva:

Metode predmeta Canvas MoveTo(x,y: integer) – premakne pero s trenutnega položaja na točko z določenimi koordinatami x, y brez risanja črte; LineTo(x.y: integer) - premakne pero s trenutnega položaja na točko z danimi koordinatami x, y, nariše črto; Arc(x1, y1, x2, y2, x3, y3, x4, y4: celo število) – nariše lok elipse, vpisane v pravokotnik s koordinatama (x1, y1) in (x2, y2). Lok je določen s polmeri elipse, ki poteka skozi točki (x3,y3) in (x4,y4);

10 diapozitiv

Opis diapozitiva:

Tetiva(x1, y1, x2, y2, x3, y3, x4, y4: celo število) – nariše tetivo elipse v skladu z opisom, podanim za metodo Arc; Elipsa(x1, y1, x2, y2: celo število) – nariše elipso, včrtano v pravokotnik z zgornjim levim kotom v točki (x1, y1) in spodnjim desnim kotom v točki (x2, y2); FillRect(Rect (x1, y1, x2, y2: integer)) – zapolni pravokotnik z barvo, določeno v trenutnem čopiču. Uporablja funkcijo Rect, ki predstavlja pravokotnik na danih koordinatah;

11 diapozitiv

Opis diapozitiva:

FloodFill(x,y: integer; Color: TColor; FillStyle: TFillStyle) – polnjenje s trenutno barvo, določeno v lastnosti Brush: s FillStyle=fsBorder – zaprto območje od točke s koordinatami x, y do meje, ki jo definira Color ; s FillStyle=fsSurface – tisti del površine, ki ima barvno barvo; Torta(x1, y1, x2, y2, x3, y3, x4, y4: celo število) – nariše sektor elipse, vpisane v pravokotnik s koordinatama (x1, y1) in (x2, y2). Sektor je opredeljen z dvema polmeroma elipse, ki potekata skozi točki (x3, y3) in (x4, y4);

12 diapozitiv

Opis diapozitiva:

Poličrta (točke: niz TPoint) – nariše poličrt, ki zaporedno povezuje točke niza točk; Mnogokotnik (točke: niz TPoint) – nariše mnogokotnike z zaporedno povezavo točk v nizu točk. Od metode Polyline se razlikuje po tem, da samodejno poveže konec poličnije z njenim začetkom; Pravokotnik (x1, y1, x2, y2: celo število) – nariše pravokotnik z zgornjim levim kotom v točki (x1, y1) in spodnjim desnim kotom v točki (x2, y2);

Diapozitiv 13

Opis diapozitiva:

Retresh – metoda se pokliče, ko je treba ponovno narisati sliko; RoundRect (x1, y1, x2, y2, x3, y3: celo število) – nariše pravokotnik z zaobljenimi vogali. Vogali so narisani kot četrtine elipse s širino x3 in višino y3; TextOut (x, y:integer, Text:String) – izpiše besedilo, podano v parametru Text. Besedilo se prilega pravokotniku, katerega zgornji levi kot ima koordinate x, y.




Vrh