Komponenta za prikaz grafičkih informacija u delphiju. Prezentacija na temu "Prikaz grafičkih informacija u Delphiju." Kratke informacije iz teorije

Rad s grafikom u Delphiju nisu samo linije i crteži, već i ispis tekstualni dokumenti. Stoga u Delphi na djelu s grafikom morate potrošiti malo vremena. Raditi sa grafika u Delphiju uključuje pristup platnu - svojstvo komponenti Canvas. Platno Delphi ovo je platno koje programeru omogućuje pristup svakoj njegovoj točki (pikselu) i, poput umjetnika, prikazuje ono što se traži. Naravno, crtajte piksel po piksel za rad s grafikom u Delphiju nije potrebno, sustav Delphi pruža moćne grafički alati, olakšavajući programeru zadatak.

Pri radu s grafikom u Delphiju programer ima na raspolaganju okvir (platno, platno - svojstvo Platno Delphi komponente), olovka (svojstvo Olovka), kist (svojstvo Brush) komponente ili objekta na kojem treba da slikate. Kod olovke Olovka i četke Četka možete promijeniti boju (svojstvo Color) i stil (svojstvo Style). Pristup fontovima omogućuje svojstvo canvas Font. Ovi vam alati omogućuju prikaz teksta i prilično složenih grafikona matematičkog i inženjerskog sadržaja, kao i crteža. Osim, rad s grafikom omogućuje korištenje takvih resursa u Delphiju Windows poput grafičkih i video datoteka.

Naravno, nemaju sve komponente u Delphiju ta svojstva. Na kartici Dodatni nalazi se specijalizirana komponenta TImage, posebno dizajniran za crtanje, ali i svojstvo Platno imaju npr. komponente kao što su ListBox, ComboBox, StringGrid, kao i sam Form u koji se postavljaju naše komponente! Osim toga, za ispis dokumenata, Delphi pristupa svojstvu Canvas objekta kao što je pisač.

Glavno svojstvo takvog objekta kao što je Canvas Delphi je pikseli tip TColor, to jest, to je dvodimenzionalni niz točaka (piksela) specificiranih njihovom bojom. Crtanje na platnu nastaje u trenutku dodjele zadane boje bilo kojoj točki na platnu. Svakom pikselu može se dodijeliti bilo koji dostupan za Boja prozora. Na primjer, izvršavanje naredbe

Image1.Canvas.Pixels:=clRed;

Rezultat će biti crtanje crvene točke s koordinatama. Možete saznati boju piksela inverznim dodjeljivanjem:

Boja:=Image1.Canvas.Pixels;

Tip TColor definiran kao dugi cijeli broj (LongInt). Njegova četiri bajta sadrže informacije o omjerima plave (B), zelene (G) i crvene (R) boje. U heksadecimalnom sustavu izgleda ovako: $00BBGGRR. Udio svake boje može varirati od 0 do 255. Stoga, da bi se prikazala maksimalna crvena točka, potrebno ju je dodijeliti boja $000000FF.
Za standardne boje u Delphiju definiran je skup tekstualnih konstanti. Možete ga vidjeti otvaranjem svojstva Color, na primjer, istog obrasca u Object Inspectoru.

Sljedeća tablica sadrži neka svojstva i metode platna:

Procedura TextOut(X, Y: Integer; konst Tekst: WideString);
Stvara izlaz niza Tekst počevši od (X, Y) - gornji lijevi piksel teksta.
Svojstvo TextWidth( var Tekst: String): Integer;
Sadrži duljinu niza Tekst u pikselima.
Svojstvo TextHeight( var Tekst: String): Integer;
Sadrži visinu linije Tekst u pikselima.
Procedura MoveTo(X, Y: Integer);
Pomiče poziciju na piksel s adresom (X, Y).
Procedura LineTo(X, Y: Integer);
Crta ravnu liniju od točke trenutne pozicije do piksela s adresom (X, Y). Adresa (X, Y) postaje točka trenutne pozicije.
Procedura FillRect( konst Rect: TRect);
Ispunjava pravokutnik prav na platnu koristeći trenutni kist. Može se koristiti, između ostalog, za brisanje dijela slike na platnu.

Napišimo, koristeći samo ove metode platna, aplikaciju za sliku na komponentnom platnu Slika tekst koji se unosi u komponentu dopis:

Prvo što ćemo napraviti je inicijalizirati varijable kada se program pokrene. Potrebno je odrediti veličinu područja za crtanje (za to ćemo kreirati globalnu varijablu Rect tipa TRect) i postaviti boju pozadine Slika bijelo:

postupak TForm1.FormCreate(Pošiljatelj: TObject);
početi
Rect.Left:=0;
Rect.Top:=0;
Rect.Right:=Slika1.Width;
Rect.Bottom:=Image1.Height;
Image1.Canvas.Brush.Color:=clWhite;
kraj;

Zatim nacrtajte okvir na stranama slike:

postupak TForm1.stranica;
početi
s Slika 1. Platno čini
početi
Premjesti u (0, 0);
LinijaDo(Slika1.Širina-1, 0);
LinijaDo(Slika1.Širina-1, Slika1.Visina-1);
LinijaDo(0, Slika1.Visina-1);
LinijaDo(0, 0);
kraj;
kraj;

Pokušajmo što se dogodilo. Sve radi, ali se okvir još ne prikazuje. Stoga, dodajmo proceduru stranica u postupku FormCreate. Sada je prelijepo. Dalje ćemo pisati jednostavan postupak brisanje, čišćenje slike. Morat će se pozvati prije bilo kakvog ažuriranja slike, inače će se prethodna i sljedeća slika preklapati.

postupak TForm1.clearing;
početi
Image1.Canvas.FillRect(Rect); //Pravokutnik prav ispunjava se bijelom bojom i slika se briše.
kraj;

Sada je red na sam postupak ispisa teksta. Počnimo crtati tekst od točke (3, 3) - gornji lijevi kut lista, s blagim uvlačenjem od 3 piksela. Svaki sljedeći redak bit će pomaknut za visinu retka:

postupak TForm1.prn;
var i: cijeli broj;
početi
s Slika 1. Platno čini
za i:=1 do Memo1.Lines.Count čini
TextOut(3, 3+(i-1)*TextHeight("A"), Memo1.Lines);
kraj;

Sada je sve spremno za ispis teksta. To ćemo učiniti pomoću događaja OnChange:

postupak TForm1.Memo1Change(Pošiljatelj: TObject);
početi
čišćenje;
prn;
stranica;
kraj;

I na kraju, postupak promjene veličine fonta:

postupak TForm1.Edit1Change(Pošiljatelj: TObject);
početi
Memo1.Font.Size:=UpDown1.Position;
Image1.Canvas.Font.Size:=UpDown1.Position;
Memo1Promjena(pošiljatelj);
kraj;

Ovaj program možete modificirati za ispis teksta. Za rad s pisačem potrebno je spojiti modul Pisači:

jedinica Cjelina 1;

Sučelje

koristi
Windows, Poruke, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dijalozi, StdCtrl, Pisači ;

Kada radite s pisačem kao platnom, poziva se metoda za početak ispisa BeginDoc, tada je dokument ispisan, ispis je završen pozivom metode EndDoc:

Printer.BeginDoc;
s Printer.Canvas čini
početi
...Ispiši dokument...
kraj;
Printer.EndDoc;

Širina i visina mreže pisača dostupne su kroz svojstva Printer.PageWidth I Printer.PageHeight. Pomoću ove metode možete završiti s ispisom na jednoj stranici i započeti s ispisom na drugoj Printer.NewPage.

Popis komponenti zaslona grafičke informacije

Za prikaz grafičkih informacija, biblioteka Delphi nudi komponente, čiji je popis dan u tablici 4.1.

Tablica 4.1 Komponente prikaza grafičkih informacija Piktogram

komponenta

Stranica

Opis

Slika

Koristi se za prikaz grafike: ikone, bitmape i metadatoteke.


PaintBox (prozor za crtanje)

Koristi se za stvaranje područja na obrascu u kojem možete crtati.


DrawGrid (tablica crteža)

Koristi se za prikaz netekstualnih podataka u recima i stupcima.


Grafikon (grafikoni i grafikoni)

Komponenta pripada obitelji komponenti TChart, koje se koriste za izradu dijagrama i grafikona.


Osim toga, možete prikazati i unijeti grafičke informacije na površini bilo koje grafike Prikaz na platnu.

Platno Platno nije sastavni dio, pa ga, striktno govoreći, ne treba razmatrati u okviru ove knjige. Ali budući da mnoge komponente, posebno obrasci, imaju obris, a obris pruža mogućnost prikaza različitih grafičkih informacija, ipak je preporučljivo dati neke početne informacije o obrisu.

Platno je područje komponente na kojem možete crtati ili prikazati gotove slike. Sadrži svojstva i metode koje uvelike pojednostavljuju Delphi grafiku. Sve složene interakcije sa sustavom skrivene su za korisnika, tako da osoba koja nije nimalo iskusna u računalnoj grafici može crtati u Delphiju.

Svaka točka nacrta ima koordinate x I Y. Koordinatni sustav platna, kao i drugdje u Delphiju, ima svoje ishodište u gornjem lijevom kutu platna. Koordinirati x povećava se pri kretanju slijeva nadesno, a koordinata Y- kada se kreće odozgo prema dolje. Koordinate se mjere u pikselima. Piksel je najmanji element površine dizajna kojim se može manipulirati. Najvažnije svojstvo piksela je njegova boja.

Platno ima svojstvo pikseli. Ovo svojstvo je dvodimenzionalni niz koji je odgovoran za boje platna. Na primjer, Platno. pikseli odgovara boji piksela 10. slijeva i 20. s vrha. Niz piksela možete tretirati kao bilo koje svojstvo: promijeniti boju dajući pikselu novu vrijednost ili odrediti njegovu boju iz vrijednosti pohranjene u njemu. Na primjer, Platno. Pikseli:=0 ili Platno. Pikseli:=clCrni- ovo je za postavljanje piksela na crno.

Vlasništvo pikseli može se koristiti za crtanje na platnu. Pokušajmo nacrtati piksel po piksel graf sinusoide na obrisu forme. Da biste to učinili, u obrascu za obradu događaja OnPaint(crtež) možete umetnuti sljedeći kod:

TForm1. FormPaint(Pošiljatelj: TObject);

var,Y:stvarno; // koordinate funkcije,PY: longint; // koordinate piksela

početi:=clBijelo;

za PX:=0 doŠirina klijenta čini

(X je argument grafa,

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

(PY - koordinata piksela,

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

(Postavlja boju odabranog

piksel (o svjetlini). Pikseli: = 0;

kraj;

Pokrenite ovu testnu aplikaciju i vidjet ćete rezultat prikazan na slici 4.1 a. Pokazao se sinusni grafikon, iako ne baš dobar, jer dijeli se na pojedinačne točke – piksele.

Platno - objekt klase TCanvas ima mnogo metoda koje vam omogućuju crtanje grafikona, linija, oblika pomoću svojstva Olovka- pero. Ovo svojstvo je objekt, koji zauzvrat ima niz svojstava. Jedna od njih je nekretnina koju već poznajete Boja- boja kojom se nanosi crtež. Drugo svojstvo - Širina(širina linije). Širina je navedena u pikselima. Zadana širina je 1.

Vlasništvo Stil određuje vrstu linije. Ovo svojstvo može poprimiti sljedeće vrijednosti:

Platno ima svojstvo PenPos tip TPoint(cm .). Ovo svojstvo određuje trenutni položaj olovke u koordinatama platna. Pomicanje olovke bez povlačenja crte, tj. promijeniti PenPos, proizveden metodom platna PremjestiNa(X,Y). ovdje ( X, Y) - koordinate točke do koje se olovka kreće. Ova trenutna točka postaje početna točka s koje se metoda LinijaDo(X,Y) možete nacrtati liniju do točke s koordinatama ( X,Y). U tom slučaju trenutna točka se pomiče na krajnju točku linije i novi poziv LineTo izvući će točku iz ove nove trenutne točke.

Pokušajmo olovkom nacrtati sinusni graf iz prethodnog primjera. U ovom slučaju obrada za obradu događaja OnPaint može izgledati ovako:

postupak TForm1. FormPaint(Pošiljatelj: TObject);

var,Y:stvarno; // koordinate funkcije,PY: longint; // koordinate piksela

početi: =clBijelo;. MoveTo(0,ClientHeight div 2);

za PX: =0 doŠirina klijenta čini

(X je argument grafa,

koji odgovara pikselu s koordinatom RH):=PX*4*Pi/ClientWidth;:=Sin(X);

(PY - koordinata piksela,

koji odgovara Y koordinati):=trunc(Visina klijenta - (Y+1) *Visina klijenta/2);

(Na grafikonu je nacrtana linija). LinijaDo(PX,PY);

Rezultat aplikacije u ovoj verziji možete vidjeti na slici 4.1 b. Kao što vidite, kvaliteta grafike je značajno poboljšana.

Olovka može crtati ne samo ravne linije, već i oblike. Za potpuni popis metoda platna koje koriste olovku, pogledajte ugrađenu pomoć za Delphi. Za sada ćemo kao primjer navesti samo jednu od njih - Elipsa, koji crta elipsu ili krug. Deklarirano je kao

postupak Elipsa(X1, Y1, X2, Y2: cijeli broj);

gdje su parametri X1, X2, Y1, Y2 odrediti koordinate pravokutnika koji opisuje elipsu ili krug. Na primjer, operater

Elipsa (10, 40, 20, 50);

nacrtat će krug promjera 10 i koordinatama središta (15, 45).

U općem slučaju, figure nisu iscrtane prazne, već popunjene pomoću svojstva platna Četka- četka. Vlasništvo Četka je objekt koji zauzvrat ima niz svojstava. Vlasništvo Boja definira boju ispune. Vlasništvo Stil definira uzorak ispune (sjenčanje). Zadana vrijednost Stil jednaki bsSolid, što znači jednobojnost Boja.

Kod olovke Olovka Postoji još jedna nekretnina koju još nismo razmotrili. Ova nekretnina je Način rada(način). Zadana vrijednost Način = pmCopy. To znači da su linije nacrtane bojom navedenom u svojstvu Boja. Ali mogući su i drugi načini, u kojima se ne uzima u obzir samo boja Boja, ali i boju odgovarajućih pozadinskih piksela. Najzanimljiviji od ovih načina je pmNotXor- zbrajanje s pozadinom pomoću inverznog isključivog ILI. Ako je postavljen ovaj način rada, ponovno crtanje iste figure na istom mjestu na platnu uklanja prethodno nacrtanu sliku i vraća boje piksela koje su bile prije prve slike figure.

Ova značajka načina pmNotXor može se koristiti za stvaranje jednostavnih animacija. Dovoljno je nešto nacrtati, zatim obrisati ono što ste nacrtali, malo izmijenjeno ponovo nacrtati - i crtež će izgledati kao da je oživio.

Pokušajte sami napraviti jednostavnu animaciju - pokretni krug. Pokrenite novu aplikaciju i idite na implementacija umetnuti oglas

X,Y: cijeli broj;

Ovo će uvesti globalne varijable x I Y- trenutne koordinate slike.

U obliku događaja OnPaint umetanje izjava

Četka. Boja:=clBijela;:=clBijela;. Olovka. Način:=pmNotXor;

Prvi od ovih operatora postavlja boju kista na bijelu Četka. To znači da će vaš krug iznutra biti obojen u bijelo. Drugi operator postavlja bijelu boju pozadine površine obrasca.

Treći operater postavlja način olovke pmNotXor, koji će vam omogućiti brisanje stare slike prije crtanja nove.

Čak i najjednostavnija animacija treba sinkronizaciju. Inače će brzinu kretanja odrediti brzina računala. Stoga prenesite komponentu u obrazac Timer- mjerač vremena sa stranice Sustav. Ova je komponenta opisana u odjeljku 5.7 .

Možete ga gledati tamo Detaljan opis. Za sada postavite njegovo svojstvo Interval jednako, na primjer, 30 (ovo je vrijeme ekspozicije u milisekundama, ali stvarno vrijeme brzina zatvarača će biti duža - pogledajte odjeljak 5.7) i postavite svojstvo Omogućeno jednak lažno(to znači da se mjerač vremena neće automatski pokrenuti kada se aplikacija pokrene).

U rukovatelju događajima ove komponente OnTimer umetanje izjava

// Brisanje prethodne slike. Elipsa (X-5, Y, X+5, Y-1Q);(X);

// Crtanje nove slike. Elipsa (X-5, Y, X+5, Y-10);

// Zaustavljanje kada dođete do kraja obrasca

ako(X >= ClientWidth-20) zatim. Omogućeno: = lažno;

Prvi od ovih operatora crta krug na mjestu gdje je prethodno nacrtan, tj. briše prethodnu sliku.

Zadnji operator zaustavlja sliku na rubu forme.

Sada dodajte gumb u obrazac Dugme i na njega postavite operatore u rukovatelju klikovima

X: =10;: =100;. Elipsa (X-5, Y, X+5, Y-10);. Omogućeno: =true;

Prva dva operatora određuju početne koordinate kruga. Treći operater crta krug na početnoj poziciji, a četvrti pokreće mjerač vremena.

Emitirajte aplikaciju, pokrenite je, kliknite na gumb. Vidjet ćete sliku kruga koji se kreće po obliku slijeva nadesno. A onda upotrijebite svoju maštu i pretvorite ovu ne baš zanimljivu aplikaciju u nešto uzbudljivije.

Platno može prikazati ne samo programski stvorene slike, već i slike pohranjene u grafičkim datotekama. Jedino samo platno nema metodu za učitavanje slike iz datoteke. Stoga se datoteka mora učitati u neki drugi grafički objekt koji može primati informacije iz grafičkih datoteka. Zatim prepišite sliku s ovog objekta na platno pomoću metode platna crtati. Njegov opis:

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

Ovdje su parametri x I Y odrediti koordinate gornjeg lijevog kuta postavljanja slike na platnu, a Grafički- objekt koji pohranjuje informacije. Takav objekt može biti, na primjer, objekt tipa TBitMap, dizajniran za pohranu bitnih matrica. Pogledajmo kako sve to izgleda u praksi.

Otvorite novu aplikaciju, povucite komponentu na obrazac OpenPictureDialog sa stranice Dijalozi (ovo je komponenta dijaloga za otvaranje grafičkih datoteka - pogledajte odjeljak 8.2 ) i gumb Dugme. Mjesto OpenPictureDialog bilo gdje u obrascu, budući da je ova komponenta nevizualna, i postavite gumb na dno obrasca. Dodajte sljedeći kod svom rukovatelju klikom na gumb:

postupak TForm1. Button1Click(Pošiljatelj: TObject);

var: TBitMap;

// Izbor korisnika grafička datoteka

ako OpenPictureDialog1. Izvršiti zatim

// Kreirajte BitMap objekt tipa TBitMap: =TBitMap. Stvoriti;

// Prijenos slike na platno obrasca. Nacrtaj(10, 10, BitMap);

//Uništavanje BitMap objekta. Besplatno;

kraj;

Ovaj kod stvara privremeni objekt tipa TBitMap Sa imenom BitMap. Zatim se poziva dijaloški okvir za otvaranje grafičke datoteke OpenPictureDialog1 i, ako je korisnik odabrao datoteku, ona se preuzima u BitMap metoda Učitaj iz datoteke. Zatim pomoću metode crtati učitana slika se kopira na platno u području s koordinatama gornjeg lijevog kuta (10,10). Nakon ovoga privremeni objekt BitMap je uništeno.

Pokrenite svoju aplikaciju i kliknite njen gumb. Vidjet ćete da možete učitati bilo koju vrstu grafičke datoteke. bmp i bit će prikazan na obrisu obrasca (vidi sl. 4.2 a). Grafičke datoteke možete pronaći u direktoriju Slike. U Delphiju 5 i 4 obično se nalazi u direktoriju. \program files\Common Files\Borland Shared. U Delphiju 3 nalazi se u direktoriju. \program files\Borland\Delphi 3, au Delphiju 1 - u direktoriju Delphi 16. U direktoriju Images posebno se nalazi poddirektorij \Images\Splash\16Color\, koji pohranjuje datoteku učitanu u primjeru na sl. 4.2

Napravili ste dobru aplikaciju za pregledavanje grafičkih datoteka. Ali pokušajmo sada vidjeti njegov glavni nedostatak. Bez zatvaranja aplikacije idite na neki drugi program, na primjer, vratite se na Delphi. Zatim se, ne radeći ništa tamo, vratite na pokrenutu aplikaciju. Ako je prozor programa u koji ste ušli potpuno blokirao prozor vaše aplikacije, tada kada se vratite na njega vidjet ćete da je slika u prozoru nestala. Ako se prozor vaše aplikacije samo djelomično preklapao, tada kada se vratite na svoju aplikaciju, možete vidjeti rezultat sličan onom prikazanom na slici 4.2 b.

Vidite da ako se prozor neke druge aplikacije privremeno preklapa s prozorom vaše aplikacije, onda je slika nacrtana na obrisu obrasca pokvarena. Pogledajmo kako možemo ukloniti ovaj nedostatak.

Ako je prozor zatvoren i slika je oštećena, operativni sustav govori aplikaciji da se nešto promijenilo u okruženju i da bi aplikacija trebala poduzeti odgovarajuće mjere. Čim je potrebno ažuriranje prozora, za njega se generira događaj OnPaint. U rukovatelju ovog događaja (u našem slučaju, događaj obrasca), trebate ponovno nacrtati sliku.

Ponovno crtanje se može učiniti različiti putevi ovisno o primjeni. U našem primjeru bilo bi moguće deklarirati varijablu BitMap(operater var BitMap: TBitMap) izvan gornjeg postupka, tj. učinite ovu varijablu globalnom postavljanjem izravno u odjeljak implementacija. Operater BitMap. Besplatno može se premjestiti u rukovatelj događajima obrasca OnDestroy, koji se javlja kada se aplikacija zatvori. Tada ćete tijekom cijelog izvođenja vaše aplikacije imati kopiju slike u komponenti BitMap i samo trebate ući u rukovatelj događajima OnPaint obliku postoji samo jedan operator:

Nacrtaj(10, 10, BitMap);

Učinite to i vidjet ćete da se slika na obrascu ne kvari zbog preklapanja prozora.

Pored razmatrane metode crtati obris također ima metodu kopiranja CopyRect:

CopyRect(Dest: TRect; Canvas: TCanvas; Izvor: TRect);

Metoda kopira navedeni parametar Izvor područje slike u platnu izvora slike Platno na navedeni parametar odredište područje ovog platna. Tip TRect, karakterizirajući pravokutna područja Izvor I odredište, već opisano u odjeljku 3.2 .

Na primjer, operater

CopyRect(MyRect2, Bitmap. Canvas, MyRect1);

kopije u obris obrasca u području MyRect2 slika s područja MyRect1 komponentno platno Bitmapa.

Metoda kopiranja CopyRect izvodi se u načinu rada određenom svojstvom CopyMode. Prema zadanim postavkama ovo svojstvo ima vrijednost cmSrcCopy, što jednostavno znači zamjenu slike koja se prethodno nalazila u tom području odredište, na kopiranu sliku. Ostale moguće vrijednosti CopyMode omogućuju vam kombiniranje slika, ali njihovo razmatranje je izvan dosega ove knjige.

Ograničit ćemo se na ove osnovne informacije o prikazivanju grafičkih informacija na platnu. U odjeljku 3.2 dane su informacije o izlazu teksta u nacrt. Općenito, nacrt - složeni objekt, koji ima mnogo više svojstava i metoda. Ali to zahtijeva proširenu raspravu izvan opsega ove knjige. Sljedeća knjiga u seriji Sve o Delphiju detaljnije će istražiti ova pitanja.

Prozorska komponenta koja ima svojstvo Platno- platno.

Komponente Image i PaintBox

Komponente Slika I Kutija sa slikarskim bojama predstavljaju neku ograničenu površinu s platnom na kojoj se mogu pisati slike, kao što je opisano u odjeljku 4.2 . U ovom slučaju komponenta Kutija sa slikarskim bojama, strogo govoreći, ne pruža ništa novo u usporedbi s crtanjem forme na platnu. Crtanje na Kutija sa slikarskim bojama umjesto forme, nema prednosti, osim možda nekog reljefa u rasporedu jednog ili više crteža u prostoru prozora.

Ali osim ovih mogućnosti, komponenta Slika Postoje svojstva koja vam omogućuju rad različite vrste grafičke datoteke Podržava tri vrste datoteka - bitne matrice, ikone i metadatoteke. Sve tri vrste datoteka pohranjuju slike; razlika je samo u načinu na koji su pohranjeni unutar datoteka iu načinu pristupa njima. Bitna matrica (datoteka s nastavkom . bmp) prikazuje boju svakog piksela na slici. U ovom slučaju, informacije se pohranjuju na takav način da bilo koje računalo može prikazati sliku u rezoluciji i broju boja koji odgovaraju njegovoj konfiguraciji.

Piktogrami (datoteke s nastavkom . ico) su male bitne matrice. Naširoko se koriste za označavanje ikona aplikacija, u brzim gumbima, u stavkama izbornika, na raznim popisima. Način pohranjivanja slika u ikone sličan je pohranjivanju informacija u bitne matrice, ali postoje i razlike. Konkretno, ikona se ne može skalirati; ona ostaje u veličini u kojoj je stvorena.

Metadatoteke ne pohranjuju niz bitova koji čine sliku, već informacije o tome kako je slika stvorena. Oni pohranjuju nizove naredbi za crtanje, koje se mogu ponavljati prilikom ponovnog stvaranja slike. Zbog toga su takve datoteke općenito kompaktnije od bitnih matrica.

komponenta Slika omogućuje vam prikaz informacija sadržanih u grafičkim datotekama svih navedenih vrsta. To se postiže svojim svojstvom Slika- tip objekta TPicture.

sl.4.3 Prozor uređivača slika


Da biste se upoznali s ovim svojstvom, otvorite novu aplikaciju i povucite komponentu na obrazac Slika. Rastegni ga ili postavi njegovo svojstvo Uskladiti jednak alKlijent tako da zauzima cijelo klijentsko područje obrasca. Kliknite na gumb s elipsom pored svojstva Slika u prozoru Object Inspector ili jednostavno dvaput kliknite na Slika. Pred vama će se otvoriti prozor za uređivanje slika (Slika 4.3), koji vam omogućuje učitavanje svojstva Slika neku grafičku datoteku (gumb Učitaj), a također spremite otvorenu datoteku pod novim imenom ili u novi direktorij. Pritisnite Učitaj za učitavanje grafičke datoteke. Vidjet ćete prozor za otvaranje grafičke datoteke, prikazan na sl. 4.4 Kako pomičete kursor na popisu grafičkih datoteka, slike koje sadrže prikazuju se u desnom prozoru, a iznad njih su brojevi koji karakteriziraju veličinu slike. . Možete odabrati bilo koju vrstu grafičke datoteke koju želite. Podsjetimo vas da grafičke datoteke koje ste dobili s Delphijem možete pronaći u direktoriju Slike. U Delphiju 5 i 4 obično se nalazi u direktoriju. \program files\Common Files\Borland Shared. U Delphiju 3 nalazi se u direktoriju. \program files\Borland\Delphi 3, au Delphiju 1 - u direktoriju Delphi 16. Nakon što se datoteka učita, kliknite OK u prozoru Picture Editor iu svojoj komponenti Slika Prikazat će se slika koju ste odabrali. Možete pokrenuti svoju aplikaciju i diviti joj se. Međutim, već vidite sliku bez pokretanja aplikacije.

Kada ste učitali sliku iz datoteke u komponentu tijekom procesa dizajna Slika, ne samo da ga prikazuje, već ga i sprema u aplikaciju. To vam daje mogućnost isporuke vaše aplikacije bez zasebne grafičke datoteke. Međutim, kako ćemo kasnije vidjeti, u Slika Također možete učitati vanjske grafičke datoteke dok je aplikacija pokrenuta.

Vratimo se razmatranju svojstava komponente Slika.

Ako postavite svojstvo AutoSize V pravi, zatim veličina komponente Slika automatski će se prilagoditi veličini slike koja se nalazi u njemu. Ako imovina AutoSize instaliran u lažno, tada slika možda neće stati u komponentu ili, obrnuto, područje komponente može biti mnogo veće od područja slike.

Još jedna nekretnina - Istegnite se omogućuje podešavanje ne komponente prema veličini slike, već slike prema veličini komponente. Instalirati AutoSize V lažno, rastegnuti ili smanjiti veličinu komponente Slika i instalirati Istegnite se V pravi. Vidjet ćete da će crtež zauzeti cijelo područje komponente, ali budući da je malo vjerojatno da će realno odrediti dimenzije Slika točno proporcionalno veličini slike, slika će biti iskrivljena. Instalirati Istegnite se V pravi može imati smisla samo za neke uzorke, ali ne i za slike. Vlasništvo Istegnite se ne utječe na slike ikona kojima se ne može promijeniti veličina.

Vlasništvo - Centar, postavljen pravi, centrira sliku na područje Slika, ako je veličina komponente veća od veličine slike.

Razmotrimo još jedno svojstvo - Transparentan(transparentnost). Ako Transparentan jednaki pravi, zatim slika u Slika postaje proziran. Ovo se može koristiti za preklapanje slika jedne preko druge. Stavite drugu komponentu na obrazac Slika i u njega učitajte drugu sliku. Samo pokušajte snimiti malo popunjenu, obrisnu sliku. Možete, na primjer, uzeti sliku između onih koje se obično nalaze na gumbima, na primjer, strelicu (file.\program files\common files\borland shared\images\buttons\arrow1l. bmp). Pomakni svoje Slika tako da se međusobno preklapaju, au gornjem sastavnom setu Transparentan jednak pravi. Vidjet ćete da gornja slika više ne zaklanja donju. Jedna od mogućih upotreba ovog svojstva je prekrivanje na slici natpisa napravljenih u obliku bitne matrice. Ovi natpisi mogu se napraviti pomoću programa Image Editor ugrađenog u Delphi.

Imajte na umu da je nekretnina Transparentan utječe samo na matrice bitova. U ovom slučaju, boja donjeg lijevog piksela bitne matrice je prema zadanim postavkama prozirna (tj. zamijenjena bojom slike koja se nalazi ispod nje).

Pokrili smo učitavanje slike iz datoteke tijekom procesa dizajna. Ali vlasništvo Slika Također olakšava organiziranje razmjene s grafičkim datotekama bilo koje vrste tijekom izvođenja aplikacije. Da bismo objasnili tehniku ​​takve razmjene, prvo moramo detaljnije razmotriti nekretninu Slika.

Ovo svojstvo je objekt, koji pak ima podsvojstva koja upućuju na pohranjeni grafički objekt. Ako u Slika bitna matrica je pohranjena i naznačena je svojstvom Slika. Bitmapa. Ako je ikona pohranjena, na nju ukazuje svojstvo Slika. Ikona. Pohranjena metadatoteka označena je svojstvom Slika. Metafile. Konačno, grafički objekt bilo koje vrste označen je svojstvom Slika. Grafički.

Objekt Slika i njegova svojstva Bitmapa, Ikona, Metafile I Grafički imati metode čitanja i pisanja datoteka Učitaj iz datoteke I Spremi u datoteku:

postupak Učitaj iz datoteke ( konst Naziv datoteke: niz);

postupak Spremi u datoteku( konst Naziv datoteke: niz);

Za svojstva Slika. Bitmapa, Slika. Ikona I Slika. Metafile Format datoteke mora odgovarati klasi objekta: bitna matrica, ikona, metadatoteka. Prilikom čitanja datoteke u svojstvo Slika. Grafički datoteka mora biti u formatu metadatoteke. I za sam objekt Slika Metode čitanja i pisanja automatski se prilagođavaju vrsti datoteke. Objasnimo to na primjeru.

Izradimo aplikaciju sličnu primjeru pregledavanja grafičkih datoteka o kojem se govori u odjeljku 4.2. Radi raznolikosti, možete ga kontrolirati pomoću nečeg drugog osim gumba Dugme, i jelovnik. Stavite komponentu na obrazac Slika. Rastegni ga ili postavi njegovo svojstvo Uskladiti jednak alKlijent tako da zauzima cijelo klijentsko područje obrasca. Povucite komponentu dijaloga za otvaranje grafičke datoteke na obrazac OpenPictureDialog(pogledajte odjeljak 8.2 ). Postavite i komponentu glavnog izbornika na obrazac Glavni izbornik(vidi odjeljak 6.1 ) i u njemu postavite jedan odjeljak - File. U obrađivaču za ovaj odjeljak napišite izjavu

(OpenPictureDialog1.Execute) zatim. Slika. LoadFromFile(.FileName);

Ovaj operator će pozvati dijalog za otvaranje grafičke datoteke (vidi sl. 4.4) i učitati je u komponentu Slika1 sliku iz datoteke koju je odabrao korisnik (vidi sl. 4.5). Štoviše, datoteka može biti bilo koje vrste: bitna matrica, ikona ili metadatoteka.

sl.4.5 Slika u komponenti Slika bitna matrica (a) i piktogram (6)



U ovoj primjeni metoda Učitaj iz datoteke primijenjeno na Slika1. Slika. Ako se otvaraju samo datoteke bitne matrice, tada se operator učitavanja datoteke može zamijeniti s

Slika. Bitmapa LoadFromFile(.FileName);

Za piktograme se može koristiti operator. Slika. Ikona. LoadFromFile(.FileName);

a za metadatoteke – operator. Slika. Metafile. LoadFromFile(.FileName);

ili. Slika. Grafički. LoadFromFile(.FileName);

Ali u svim tim slučajevima, ako format datoteke ne odgovara predviđenom, doći će do pogreške. Metoda djeluje slično Spremi u datoteku s razlikom koja se odnosila na Slika Ili do Slika. Grafički sprema sliku bilo kojeg formata u datoteku. Na primjer, ako svoju aplikaciju proširite dijaloškim okvirom SavePictureDialog(pogledajte odjeljak 8.2 ), uđite u odjeljak Spremi kao u izborniku i postavite operator u njegov rukovatelj

Spremi slikuDijalog1. Izvršiti zatim. Slika. SaveToFile(SavePictureDialog1. FileName);

tada će korisnik moći spremiti sliku bilo kojeg formata u datoteku s novim imenom. Samo u ovom slučaju, kako bi se izbjegla zabuna u budućnosti, ekstenzija spremljene datoteke i dalje mora odgovarati formatu spremljene slike.

Program će raditi potpuno identično za slike bilo kojeg formata ako operator spremanja zamijenite s

Slika. Grafički. SaveToFile(.FileName);

koristeći imovinu Slika. Grafički. A ako znate format onoga što je pohranjeno u komponenti Slika slike, tada možete primijeniti metodu Spremi u datoteku na svojstva Slika. Bitmapa, Slika. Ikona I Slika. Metafile.

Za sve razmatrane objekte Slika, Slika. Bitmapa, Slika. Ikona I Slika. Metafile definirane su metode za dodjeljivanje vrijednosti objekta:

Dodijeli (Izvor: TPersistent);

Međutim, za BitMap, Ikona I Metafile Možete dodijeliti samo vrijednosti homogenih objekata: bitne matrice, ikone, metadatoteke. Iznimka se javlja kada se pokušavaju dodijeliti vrijednosti heterogenim objektima EConvertError. Objekt Slika- univerzalni, mogu mu se dodijeliti vrijednosti objekata bilo koje od ostale tri klase. I smisao Slika može se dodijeliti samo objektu čiji tip odgovara tipu objekta koji je u njemu pohranjen.

metoda Dodijeliti također se može koristiti za razmjenu slika s međuspremnikom međuspremnika. Na primjer, operater

Dodijeli(Slika1.Slika);

spremit će sliku pohranjenu u međuspremnik u međuspremnik Slika1. Sličan operator

grafika delphi aplikacija za slike

Slika1. Slika. Dodijeli (međuspremnik);

učitaj Slika1 sliku u međuspremniku. Štoviše, to može biti bilo koja slika, pa čak i tekst.

Samo trebate zapamtiti da kada radite s međuspremnikom zalijepite u operator koristi veza vašeg modula na modul Clipbrd. Delphi ne umeće automatski ovu vezu.

Vraćajući se na svojstva komponenti Slika, možemo uočiti jedan nedostatak koji je svojstven našoj testnoj aplikaciji, prikazan na sl. 4.5. Prilikom učitavanja različitih slika, veličina prozora aplikacije može biti ili premalena, pa ćete tada vidjeti samo dio slike, ili prevelika, i tada će slika biti neprivlačno smještena u gornjem lijevom kutu forme, ostavljajući puno praznog prostora. Ovaj se nedostatak može ukloniti korištenjem svojstava Visina(visina) i Širina(širina) komponenta Slika. S imovinom AutoSize instaliran u pravi dimenzije Slika automatski se postavljaju na istu veličinu kao učitana slika. A te se dimenzije mogu koristiti za odgovarajuću promjenu veličine obrasca. Na primjer, raniji kôd za učitavanje slike iz datoteke može se zamijeniti sljedećim:

OpenPictureDialog1. Izvršiti zatim

početi. Slika. LoadFromFile(.FileName); Visina klijenta: = Slika1. Visina+10;. Vrh:=Obrazac1. ClientRect. Vrh

+ (Form1. Visina klijenta - Slika1. Visina) div 2;. ClientWidth:=Image1. Širina+10;. Lijevo: = Obrazac1. ClientRect. Lijevo

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

kraj;

Ovaj kod postavlja veličinu klijentskog područja obrasca na malo veću od veličine komponente. Slika1, koji se zauzvrat prilagođavaju veličini slike zahvaljujući svojstvu AutoSize. Unesite ove promjene u svoju aplikaciju, pokrenite je i vidjet ćete kako se obrazac automatski prilagođava veličini učitane slike.

Komponenta oblika

komponenta Oblik može se samo uvjetno klasificirati kao sredstvo za prikaz grafičkih informacija, budući da jednostavno predstavlja različite geometrijske oblike, odgovarajuće osjenčane. Glavno svojstvo ove komponente je Oblik(forma), koji može poprimiti sljedeće vrijednosti:

Primjeri ovih oblika prikazani su na slici 4.7

sl.4.7 Primjeri komponenti Oblik


Drugo bitno svojstvo komponente je Četka(četka). Ovo svojstvo je objekt tipa TBrush, koji ima niz podsvojstava, posebno: boja ( Četka. Boja) i stil ( Četka. Stil) ispunite oblik. Punjenje na neke vrijednosti Stil možete vidjeti na sl. 4.7 Treće od specifičnih svojstava komponente Oblik - Olovka(olovka) koja definira stil linije. Ova imovina je kao imovina Četka, već je bilo riječi u odjeljku 4.2 . Referentne podatke o tim svojstvima možete pronaći u 10. poglavlju*.

Komponenta grafikona

Sada pogledajmo komponentu Grafikon. Ova vam komponenta omogućuje izradu različitih dijagrama i grafikona koji izgledaju vrlo impresivno (Slika 4.8). komponenta Grafikon ima mnoga svojstva, metode, događaje, tako da kada bismo ih sve razmotrili, morali bismo ovome posvetiti cijelo jedno poglavlje. Stoga ćemo se ograničiti na razmatranje samo glavnih karakteristika Grafikon. Ostatak možete pronaći u ugrađenoj pomoći za Delphi ili ih jednostavno isprobati eksperimentirajući s dijagramima.

komponenta Grafikon je spremnik objekata Niz tip TChartSeries- niz podataka karakteriziran različitim stilovima prikaza. Svaka komponenta može uključivati ​​nekoliko serija. Ako želite prikazati grafikon, tada će svaka serija odgovarati jednoj krivulji na grafikonu. Ako želite prikazati grafikone, za neke vrste grafikona možete preklopiti nekoliko različitih nizova jedan preko drugog, za druge (poput tortnih grafikona) to će vjerojatno izgledati ružno. Međutim, iu ovom slučaju možete postaviti za jednu komponentu Grafikon nekoliko serija istih podataka s različitim vrstama grafikona. Zatim, aktiviranjem jednog od njih u svakom trenutku, korisniku možete dati izbor vrste grafikona koji prikazuje podatke koji ga zanimaju.

Postavite jednu ili dvije (ako želite reproducirati sl. 4.8) komponente Grafikon na formi i pogledajte svojstva koja se otvaraju u Object Inspectoru. Evo nekoliko objašnjenja nekih od njih.

Određuje može li korisnik pomicati promatrani dio grafikona tijekom izvođenja klikom na desnu tipku miša. Moguće vrijednosti: pmNone - pomicanje je zabranjeno, pmHorizontal, pmVertical ili pmBoth - pomicanje je dopušteno, redom, samo u vodoravnom smjeru, samo u okomitom smjeru ili u oba smjera.

Omogućuje korisniku promjenu mjerila slike tijekom izvođenja, izrezivanje fragmenata dijagrama ili grafikona kursorom miša (slika 4.8 b u nastavku prikazuje trenutak gledanja fragmenta grafikona, u cijelosti prikazanog na slici 4.8 a).

Definira naslov grafikona.

Definira oznaku za grafikon. Ništa prema zadanim postavkama. Tekst potpisa određen je podsvojstvom Tekst.

Definira obrub oko dijagrama.

Legenda dijagrama je popis simbola.

MarginLijeva, MarginRight, MarginTop, MarginBottom

Vrijednosti lijeve, desne, gornje i donje margine.

Donja os, lijeva os, desna os

Ova svojstva određuju karakteristike donje, lijeve i desne osi. Postavljanje ovih svojstava ima smisla za grafikone i neke vrste dijagrama.

Lijevi zid, donji zid, stražnji zid

Ova svojstva određuju karakteristike lijevog, donjeg i stražnjeg ruba trodimenzionalnog područja prikaza grafikona (vidi sl. 4.8 a, donji grafikon).

Popis serija podataka prikazanih u komponenti.

Omogućuje ili onemogućuje prikaz 3D karte.

Karakteristike trodimenzionalnog prikaza.

Trodimenzionalno mjerilo (za sliku 4.8 ovo je debljina dijagrama i širina traka grafikona).


Uz mnoga navedena svojstva u Inspektoru objekata nalaze se gumbi s elipsama koji vam omogućuju da pozovete jednu ili drugu stranicu uređivača grafikona - prozor s više stranica koji vam omogućuje postavljanje svih svojstava grafikona. Uređivač dijagrama također se može pozvati dvostrukim klikom na komponentu Grafikon ili desnim klikom na njega i odabirom naredbe Edit Chart iz padajućeg izbornika.

Ako želite pokušati reproducirati aplikaciju prikazanu na slici 4.8, dvaput kliknite na gornju komponentu Grafikon. Bit ćete preusmjereni u prozor uređivača grafikona (Sl. 4.9) na stranicu grafikona koja ima nekoliko kartica. Prije svega, zanimat će vas kartica Series na njemu. Kliknite na gumb Dodaj - dodajte seriju. Bit ćete odvedeni u prozor (Sl. 4.10), u kojem možete odabrati vrstu grafikona ili grafikona. U tom slučaju odaberite Tortni dijagram. Pomoću kartice Naslovi možete postaviti naslov grafikona, kartica Legenda omogućuje vam postavljanje parametara za prikaz legende grafikona (popis simbola) ili ga potpuno ukloniti sa zaslona, ​​kartica Panel određuje izgled ploče na na kojem je grafikon prikazan, 3D kartica vam daje mogućnost da promijenite izgled svog grafikona: nagib, pomak, debljinu itd.

Kada radite u uređivaču grafikona i odaberete vrstu grafikona, komponente Grafikon Vaš obrazac prikazuje svoj izgled s uvjetnim podacima unesenim u njega (vidi sliku 4.11).

sl.4.10 Odabir vrste grafikona u uređivaču grafikona


Stoga možete odmah vidjeti rezultat primjene različitih opcija na svoju aplikaciju, što je vrlo zgodno.

Stranica serije, koja također ima nekoliko kartica, daje vam mogućnost odabira dodatne karakteristike serijski prikaz. Konkretno, za tortni grafikon na kartici Format korisno je omogućiti opciju Circled Pie, koja će osigurati da, u bilo kojoj veličini komponente, Grafikon prikazati grafikon u obliku kruga. Na kartici Oznake gumbi grupe Stil određuju što će pisati na natpisima vezanim za pojedine segmente grafikona: Value - vrijednost, Percent - postoci, Label - nazivi podataka itd. U primjeru na slici 4.8 omogućen je gumb Postotak, a na kartici Općenito postavljen je predložak postotka kako bi se osiguralo da se prikazuju samo cjelobrojne vrijednosti.

Možete, ako želite, dodati ovoj komponenti Grafikon drugu identičnu seriju klikom na gumb Kloniraj na kartici Serije na stranici grafikona, a zatim za ovu novu seriju klikom na gumb Promjena i odabirom druge vrste grafikona, na primjer, Trakasti. Naravno dva različiti tipovi dijagrami na jednoj slici izgledat će loše. Ali možete isključiti indikator za ovu novu seriju na kartici Serija, a zatim dopustiti korisniku da odabere jednu ili drugu vrstu prikaza grafikona (u nastavku ćemo pokazati kako se to radi).

Izađite iz uređivača dijagrama, odaberite donju komponentu u svojoj aplikaciji Grafikon i ponovite postavljanje svojstava za njega pomoću uređivača dijagrama. U tom slučaju morat ćete navesti dvije serije ako želite prikazati dvije krivulje na grafikonu i odabrati vrstu linijskog grafikona. Budući da govorimo o grafikonima, možete koristiti kartice Axis i Walls za određivanje koordinatnih karakteristika osi i trodimenzionalnih rubova grafikona.

To je to za dizajn izgled primjena završava. Sve što preostaje je napisati kod koji specificira podatke koje želite prikazati. Za testnu aplikaciju, samo postavimo neke konstantne podatke u tortni dijagram i funkcije sinusa i kosinusa u grafikone.

Da biste postavili prikazane vrijednosti, morate koristiti serijske metode Niz. Usredotočimo se samo na tri glavne metode.

metoda Čisto briše niz prethodno unesenih podataka.

metoda Dodati:

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

omogućuje vam dodavanje nove točke na dijagram. Parametar AVvrijednost odgovara dodanoj vrijednosti, parametru Oznaka- naziv koji će biti prikazan na dijagramu i u legendi, Aboja- boja. Parametar Oznaka- izborno, može biti prazno: "".

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

omogućuje vam dodavanje nove točke na graf funkcije. Mogućnosti AXVrijednost I AYVrijednost odgovaraju argumentu i funkciji. Mogućnosti Oznaka I Aboja isto kao u metodi Dodati.

Stoga bi postupak učitavanja podataka u našem primjeru mogao izgledati ovako:

155;=251;=203;=404;

var: riječ;

početi Serija1 čini

početi;(A1, "Radionica 1", clŽuta);(A2, "Radionica 2", clPlava);(A3, "Radionica 3", clCrvena);(A4, "Radionica 4", clLjubičasta);

kraj;. Čisto;. Čisto;

za i: =0 do 100 čini

početi. DodajXY (0,02*Pi*i, sin (0,02*Pi*i), "", clRed);. DodajXY (0,02*Pi*i, cos (0,02*Pi*i), "", clBlue);

Ako ste, na primjer, dali podatke prikazane u grafikonu, dvije serije Serija1 I serija4 različiti tipovi - Pita I Bar, tada možete uvesti proceduru koja mijenja tip dijagrama prema zahtjevu korisnika. Ovaj se postupak može unijeti u događaj Na klik neki gumb, naredba izbornika ili, na primjer, jednostavno obrađivanje klika na komponentu Grafikon. Za učitavanje podataka u serija4 i učinite ovaj dijagram nevidljivim u prvom trenutku, možete umetnuti operatore na kraju prethodno date procedure

Dodijeli (Serija 1); Aktivno: = lažno;

Prvi od ovih operatora prepisuje unesene podatke Serija1, u seriji serija4. A drugi operator čini niz nevidljivim serija4. Promjena tipa dijagrama provodi se postupkom

Aktivno: = ne Serija1. Aktivan;. Aktivno: = ne serija4. Aktivan;

Na slici 4.8 b možete vidjeti rezultat prelaska korisnika na drugi prikaz dijagrama.

LABORATORIJSKI RAD

PREDMET: « Grafika uDelphi– konstrukcija najjednostavnijih
geometrijski oblici"

Kratke informacije iz teorije

Delphi razvojnom programeru nudi tri načina za prikaz grafike:

    iscrtavanje dok program radi

    korištenje unaprijed izrađene grafike

    stvaranje slika pomoću grafičkih komponenti

Za izradu grafova stvorene su posebne klase koje pružaju alate i metode za crtanje: alati su opisani u tri klase - Tfont, Tpen, Tbrush; Područje crtanja i metode pruža klasa Tcanvas.

KlasaTfont– određuje karakteristike fonta koji se koristi za prikaz teksta na platnu. Svojstva klase opisana su u odjeljku “Osnovna svojstva dostupna za većinu komponenti.”

KlasaTpen– specificira karakteristike pera (olovke) kojim se crtaju linije.

Svojstva razreda Tpen:

Boja:Tcolor – boja linije (zadano – crna)

Širina:integer – debljina linije u pikselima;

Stil = (psSolid, psDash, psDot, psdashDot, psClear) – definira stil linije (puna, isprekidana, točkasta, crtica-točkasta, nevidljiva)

KlasaTčetka– postavlja karakteristike kista koji boji površinu slike.

Svojstva razreda Tčetka:

Boja:Tcolor – boja kista (zadano – bijela)

Stil– uzorak kista, može poprimiti sljedeće vrijednosti:

BsSolid – čvrsta boja

BsClear – nedostatak sjenčanja

BsOkomito – okomite linije

BsBdiagonal – desne dijagonalne linije

BsDiagCross – kosa ćelija

BsHorizontal – horizontalne linije

BsFdiagonal – lijeve dijagonalne linije

BsCross – kavez

KlasaTcanvas– određuje površinu na koju se postavlja izrađena slika, te alate kojima se slika izrađuje: font, olovka, kist.

Kao radno područje(platno, "platno"), prema zadanim postavkama koristi se cijelo klijentsko područje obrasca (bez zaglavlja, glavnog izbornika i linija za pomicanje obrasca), ali možete dodijeliti manja radna područja unutar obrasca pomoću komponenti Kutija sa slikarskim bojama ili Slika. Ishodište koordinate platna je gornji lijevi kut radnog područja, širina radnog područja određena je svojstvom Širina klijenta, visina – svojstvo Visina klijenta.

Svojstva razreda Tcanvas:

Platno:Tcanvas – definira područje crtanja

Četka:Tbrush – kist za slikanje zatvorenih oblika

Font:Tfont – font za prikaz teksta na platnu

Olovka:Tpen – olovka (olovka) za crtanje

PenPos:Tpoint – trenutni položaj nevidljivog kursora na platnu

Komentar : Tip Tpoint – definiran na sljedeći način:

Tip Point = zapis

pikseli: Tcolor - postavlja boje piksela platna, X, Y - koordinate piksela. Svojstvo Pixels zgodno je koristiti za crtanje grafikona pomoću točaka odabrane boje.

Glavne metode klase TCanvas

    postupak Premjesti na(x,y:cijeli broj); - pomiče olovku bez povlačenja crte do točke s koordinatama (x, y).

    Postupak LineTo(x,y:cijeli broj); - crta liniju od trenutne točke do točke s koordinatama (x, y).

Primjer : Nacrtajte dijagonalnu plavu liniju na obliku od gornjeg lijevog kuta oblika do donjeg desnog kuta.

Pen.color:= clblue;

Premjesti na (0,0); Linija do (širina klijenta, visina klijenta);

    postupak Pravokutnik(x1,y1,x2,y2:cijeli broj); - crta pravokutnik: x1,y1 – koordinate gornjeg lijevog kuta; x2, y2 su koordinate donjeg desnog kuta.

Primjer : Nacrtajte žuto osjenčani kvadrat sa stranicom od 60 piksela u sredini oblika.

var Xc,Yc: cijeli broj; //

Xc:=ClientWidth div 2;

Xy:=visina klijenta div 2;

Canvas.Brush.color:=clyellow;

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

    postupak Elipsa(x1,y1,x2,y2:cijeli broj); - crta elipsu upisanu u pravokutnik sa zadanim koordinatama.

Primjer : nacrtati elipsu upisanu u komponentu PaintBox.

PaintBox1.Canvas.Pen.Width:=4; //širina linije = 4 piksela

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

    postupak Poligon(); - crta zatvoreni poligon određen nizom koordinata.

Primjer : nacrtajte ispunjeni dijamant koji povezuje središnje strane oblika

Var Xc,Yc:cijeli broj; // koordinate središta klijentskog područja obrasca

Xc:=ClientWidth div 2;

Xy:=visina klijenta div 2;

Boja.kista.platna:=Rgb(275,140,70); // naranča boja sjenčanje

Canvas.Polygon();

kraj;

    Postupak Luk(x1,y1,x2,y2,x3,y3,x4,y4:cijeli broj); - prikazuje luk elipse omeđen pravokutnikom (x1, y1, x2, y2). Luk se prikazuje od točke s koordinatama (x3,y3) do točke s koordinatama (x4,y4) protiv u smjeru kazaljke na satu.

Primjer : nacrtajte luk elipse koji povezuje sredinu gornje strane komponente
PaintBox sa sredinom desne strane.

Procedura Tform1.Button1Click(Sender:Object);

Var X3,y3,x4,y4: cijeli broj;

Uz PaintBox1 učinite

Canvas.Pen.Color:= clWhite;

Platno.Pen.Width:= 3;

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

X3:= ClientWidth div 2;

X4:= Širina klijenta;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

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

Kraj;

    postupak Akord(x1,y1,x2,y2,x3,y3,x4,y4:cijeli broj); - crta tetivu - ravnu liniju koja spaja 2 točke elipse: točku s koordinatama (x3, y3) s točkom (x4, y4).

Primjer : Zamijenite metodu Chord u navedenom primjeru za metodu ARC i dobit ćete sljedeći rezultat.

    postupak Pita(x1,y1,x2,y2,x3,y3,x4,y4:cijeli broj); - crta segment elipse koji povezuje središte elipse s koordinatama (x3,y3) i (x4,y4).

Primjer : U primjeru danom za ARC metodu, zamislite PIE metodu i dobijte ovaj rezultat.

    postupak TextOut(x,y:cijeli broj;Tekst:niz); - ispisuje niz proslijeđen u parametru Text u pravokutnik, čiji je gornji lijevi kut određen x, y koordinatama. Karakteristike fonta postavlja alat Font.

Primjer : upišite naziv iscrtanog grafikona na dnu obrasca.

Canvas.Font.Height:=20 ; //visina znaka 20 piksela

Canvas.Font.Color:=clblue;

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

Grafičke komponente

Delphi nudi brojne gotove komponente koje vam omogućuju poboljšanje korisničko sučelje. Ove komponente se nalaze na stranici Dodatni I Sustav palete komponenti.

komponentaSlika(RazredTimage) – stvoren za prikaz grafičkih slika pohranjenih u vanjskim datotekama s ekstenzijama:

    Ico (ikona, piktogram);

    bmp ( rasterska slika, bitmapa);

    Wmf, .emf (metadatoteka);

    Jpg, .jpeg (JPEG komprimirana slika).

Osnovni, temeljni Svojstva :

Automatska veličina:boolean – kada pravi komponenta prilagođava svoje dimenzije dimenzijama učitane slike; zadano je lažno.

Istegnite se:boolean – ako je istina, učitana vrijednost zauzima cijelo područje komponente; zadano je lažno.

Platno:Tcanvas – koristi se za crtanje unutar komponente tijekom izvođenja programa.

Slika:Tpicture - Definira sliku postavljenu u komponentu.

Osnovni, temeljni metode razreda Tslika:

Postupak Učitaj iz datoteke(Naziv datoteke: niz); - učitava sliku iz datoteke pod imenom Filename u komponentu.

Postupak Spremi u datoteku(Naziv datoteke: niz); -sprema sliku iz komponente u datoteku pod nazivom Filename.

komponentaKutija sa slikarskim bojama - definira pravokutno područje crtanja. Glavna imovina je Platno, dostupne su sve metode klase Tcanvas, nema neovisna svojstva.

Primjer : nacrtajte žutu elipsu upisanu u komponentu PaintBox1.

Procedura Tform1Button1Click(sender:Tobject);

Uz PaintBox1.Canvas do

Kist.Boja:=clyellow;

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

kraj;

komponentaBitBtn rasterski gumb

Gumb BitBtn, za razliku od standardnog, može osim naslova (Caption) sadržavati i sliku zadanu svojstvom Glif. Postoji skup standardnih BitBtn tipki, s predefiniranim svojstvima (sa određenom slikom, natpisom i namjenom) - tip standardne tipke odabire se kroz osobinu Ljubazan. Vrsta=(bkCustom, bkAbort,bkCancel, bkClose …)

Zadatak br. 1

Napravite aplikaciju koja sadrži glavni oblik dvije komponente slike i 4 gumba ("Učitaj sliku", "Izgradi geometrijsku figuru", "Promijeni boju", "Izlaz"), te vam omogućuje da:

a) učitati korisnički odabranu grafičku sliku u komponentu Image1 tako da slika zauzima cijelo područje komponente Image.

b) ispod komponente Image1 prikazati natpis “Ovo je slika iz datoteke.

(za bilo koje mjerenje veličine i položaja komponenteSlika1 natpis treba
smještena strogo ispod komponente).

c) nacrtajte geometrijsku figuru unutar komponente Slika2: popunjen segment elipse koji povezuje sredinu komponente Slike sa sredinama donje i desne strane komponente Slike.

(za bilo kakvu promjenu veličine i položaja komponenteSlika2 lik mora biti ispravno konstruiran, tj. prema specifikaciji koja se odnosi na komponentuSlika2)

d) promijeniti boju linije figure nacrtane u Image2 na zahtjev korisnika pomoću komponente ColorDialog.

Zadatak br. 2

Napravite aplikaciju koja vam omogućuje nasumično postavljanje nekoliko oznaka (na primjer, riječ "Ura!") u komponentu slike. Da biste to implementirali, upotrijebite generator slučajnih brojeva Randomize i funkciju Random.

Dimenzije komponente Slike, riječ prikazanu na Slici i broj riječi korisnik mora unijeti.

Zadatak br. 3

Napravite aplikaciju koja vam omogućuje da odaberete naziv geometrijskog oblika iz ListBoxa i nacrtate odabrani oblik u komponenti slike. Boja oblika odabire se iz komponente RadioGroup.

Zadatak br. 4

Podijelite komponentu PaintBox1 na 4 jednaka dijela, svaki dio obojite drugom bojom, na primjer: plava, žuta, zelena, crvena.

Pored svakog kuta PaintBox1 upišite koordinate tog kuta (u odnosu na ishodište forme na kojoj se nalazi komponenta PaintBox1).

Zadatak br. 5

S

odaberite vrstu oblika koji će se nacrtati iz komponente Radiogroup1, boju ispune iz komponente Radiogroup2 i nacrtajte odabrani oblik u komponenti Image.

Zadatak br. 6

Napravite aplikaciju koja korisniku omogućuje postavljanje dimenzija komponente PaintBox1 (u pikselima).

Podijelite komponentu PaintBox1 na 2 jednaka dijela, unutar svakog dijela nacrtajte elipsu, ispunjenu bojom koju je korisnik odabrao u ColorDialog-u.

Zadatak br. 7

S Napravite aplikaciju koja vam omogućuje da:

odaberite naziv geometrijskog oblika iz ListBoxa i nacrtajte odabrani oblik u komponenti Slika. Oblik bi trebao biti ispunjen bojom koju je odabrao korisnik u komponenti ColorDialog ako je u komponenti RadioGroup odabrano Da.

Zadatak br. 8

Napravite aplikaciju koja korisniku omogućuje postavljanje dimenzija komponente PaintBox1 (u pikselima).

Podijelite komponentu PaintBox1 na 4 jednaka dijela, unutar svakog dijela nacrtajte različiti geometrijski oblik (elipsa, romb, trokut i pravokutnik). Boju svakog oblika odabire korisnik u ColorGridu.

Zadatak br. 9

odaberite naziv geometrijskog oblika iz ListBoxa
oblike (elipsa, romb, pravokutnik) i crtati
odabrani oblik u komponenti Slika. Mjesto
oblici u komponenti Slika (I kvartal, II kvartal,

III ili IV četvrtina) i odabire se boja figure
iz RadioGroup komponenti.

Zadatak br. 10

Napravite aplikaciju koja korisniku omogućuje postavljanje dimenzija komponente PaintBox1 (u pikselima).

Osigurajte da veličina strane ne može biti tekst, ne može biti negativan broj i ne smije premašiti manje veličine oblicima.

Podijelite komponentu PaintBox1 na 4 jednaka dijela, unutar svakog dijela nacrtajte geometrijski oblik koji je korisnik odabrao u Comboboxu (elipsa, romb, trokut i pravokutnik). Boju figure odabire korisnik u ColorBoxu.

Zadatak br. 11

Napravite aplikaciju koja vam omogućuje da:

odaberite iz komponente Radiogroup poziciju crteža

u komponenti Slika pravokutnog trokuta, set
boja sjenčanja figure ili boja obrisa, ovisno o
omogućavanje gumba okvira za potvrdu. Odaberite boju putem
ColorGrid komponenta.

Zadatak br.12

Napravite aplikaciju koja korisniku omogućuje postavljanje dimenzija komponente PaintBox1 (u pikselima).

Osigurajte da veličina strane ne može biti tekst, ne može biti negativan broj i ne smije premašiti veličinu manjeg obrasca.

Podijelite komponentu PaintBox1 na 2 jednaka dijela, unutar jednog od dijelova nacrtajte geometrijski oblik koji je korisnik odabrao u Comboboxu (elipsa, romb, trokut i pravokutnik). Boju figure odabire korisnik u ColorBoxu.

Na primjer, možete promijeniti boju obrasca na sljedeći način:

form1.Color:= ColorBox1.Colors;

Zadatak br.13

Napravite aplikaciju koja vam omogućuje da:

a) nacrtati kvadrat u sredini oblika (veličinu stranice kvadrata upisuje korisnik). Osigurajte da veličina strane ne može biti tekst, ne može biti negativan broj i ne smije premašiti veličinu manjeg obrasca.

b) podijelite kvadrat na jednu ili dvije dijagonale, ovisno o uključenosti gumba Checkbox, i obojite svaki dobiveni trokut drugom bojom. Izbor boje vrši korisnik.

Zadatak br.14

Napravite aplikaciju koja korisniku omogućuje postavljanje dimenzija komponente PaintBox1 (u pikselima).

Osigurajte da veličina strane ne može biti tekst, ne može biti negativan broj i ne smije premašiti veličinu manjeg obrasca.

Podijelite komponentu PaintBox1 na 2 jednaka dijela, unutar jednog dijela nacrtajte romb, a unutar drugog dijela nacrtajte bilo koji trokut. Boju figure odabire korisnik u ColorBoxu.

Na primjer, možete promijeniti boju obrasca na sljedeći način:

form1.Color:= ColorBox1.Colors;

Zadatak br.15

Napravite aplikaciju koja vam omogućuje da:

a) postaviti dimenzije komponente Slika vodoravno i okomito na iste i jednake broju koji korisnik upisuje s tipkovnice;

(pod uvjetom da veličina strane ne može biti tekst, ne može biti negativan broj i ne može premašiti veličinu manjeg obrasca)

b) komponentu Slika podijelite na 4 jednaka kvadrata s dvije plave crte;

c) unutar svakog dobivenog kvadrata nacrtajte u njega upisani krug (dopustite korisniku da izabere boju krugova kroz dijaloški okvir za odabir boje).

Zadatak br.16

Napravite aplikaciju koja korisniku omogućuje postavljanje dimenzija komponente PaintBox1 (u pikselima).

Osigurajte da veličina strane ne može biti tekst, ne može biti negativan broj i ne smije premašiti veličinu manjeg obrasca.

Podijelite komponentu PaintBox1 s 9 jednake dijelove i popunite svaki dobiveni pravokutnik šahovnice. Boju ispune odabire korisnik u ColorBoxu.

Na primjer, možete promijeniti boju obrasca na sljedeći način:

form1.Color:= ColorBox1.Colors;

Zadatak br.17

Postavite dvije komponente slike i četiri gumba na obrazac: Boja linije, Boja ispune, U redu i Izlaz; i komponentu Uredi.

Kada kliknete gumb U redu, na slici 1 nacrta se kvadrat stranice X, a na slici 2 pravokutni trokut s jednakim kracima od kojih svaka ima duljinu X.

Vrh trokuta poklapa se s ishodištem slike 2. Jedan od vrhova kvadrata poklapa se s ishodištem slike 1.

Gumb OK postaje dostupan tek kada ste odabrali boju linije i boju ispune za crtanje oblika.

X – odabire nasumično korištenjem funkcije Random, a vrijednost X trebala bi biti prikazana u komponenti Uredi.

Zadatak br.18

Napravite aplikaciju koja korisniku omogućuje postavljanje dimenzija komponente PaintBox1 (u pikselima).

Podijelite komponentu PaintBox1 na 4 jednaka dijela, unutar dijela koji je odabrao korisnik treba izgraditi ispunjeni krug čiju veličinu postavlja korisnik. Korisnik odabire boju ispune u ColorBoxu.

Na primjer, možete promijeniti boju obrasca na sljedeći način:

form1.Color:= ColorBox1.Colors;


“Prikaz grafičkih informacija u Delphiju” Pregled 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 nnnn ffff ooooo rrrrr mmmm ahhh tskst iiiiii iiiiii u iv u 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 zhzhzh ee e nnnnn iiiiii eee g g y g eee ooooo mmmm eee ttt rrrr iiii hhchh eee ssss kkkk iiii xxxxx ffff iiii yyyy uuuu rrrrr P Pooooo ssss ttt rrrrr ooooo eee nnnn iiii eee yy g g rrrrr aaaa ffff iiii kkkk ooooo vvvv i i i i d d d iiiiii aaaa yyyy rr rrr aaaa mmmm mmmm....


1. Metode za prikaz grafičkih informacija. U Delphiju postoji nekoliko načina za prikaz grafičkih informacija: Izlaz unaprijed pripremljenih slika (komponente slike, oblika); P Izrada grafikona i dijagrama (komponenta grafikona, itd.); F Imaging programski(Objekt od platna).


2. Prikaz 2. Prikaz slika. Prikaz slika pomoću komponente IMAGE ispitali smo u LLC DDDD DDDD LLC Yiyy i i i ZZZZ P P P PRRRDDDDDDDDDDDDDDD IIII XXXX T T T T T T T T T T T T T T T T T T T T T T T E M M M ... Ovdje ćemo razmotriti primjer najjednostavnije animacije koja povremeno mijenja prikazanu sliku u komponentama slike . PPPP eee rrrrr eee yyyye nnnn aaaaaaaaaaaaaaaaaaaaaaaaa






3.Prikaz 3.Prikaz geometrijskih oblika. I Od nekoliko Shape komponenti možete stvoriti jednostavne crteže. P Programskom promjenom položaja (.Left,.Top), veličine (.Width,.Height) i boje (Brush.Color) komponenti oblika u crtežu, možete implementirati elemente najjednostavnije animacije. R R R R aaaa ssssssss mmmm ooooh tttt rrrrr eee tttt da p p p p rrrrr iii mmmm eee rrrrr....


4.Konstrukcija 4.Konstrukcija grafikona i dijagrama. Dijagrami su dizajnirani za vizualniji prikaz nizova numeričkih podataka, njihov vizualni prikaz i analizu. PPPP rrrrr iiii mmmm eee rrrrr.... Za izradu grafikona u Delphiju postoji nekoliko komponenti, jedna od njih je komponenta Grafikon (odjeljak TeeChart Std).










Grafikoni i dijagrami. Podaci koji se prikazuju obično se programski prosljeđuju grafikonu, primjer: Series1.Clear; (očisti niz) for i:=1 do N do Series1.addxy(i, A[i], clGreen); Vrijednost X-osi Vrijednost Y-osi Oznaka X-osi Boja podataka na PP grafikonu 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 iiiiii juj jujj 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))))


Sljedeće: Laboratorijski rad ““““ 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 hchchh eee ssss kkkk iiii xxxx ffff iiii yyyy uuuu rrrrr, i i i xxxx a a a a a nnnn iiii mmmm aaaa tsstst iiii yayayaya """"...Zadatak: 1) Razvijte aplikaciju za izvođenje jednostavne animacije povremenom promjenom prikazane slike u komponentama slike. (Broj slika je najmanje tri, slike odaberite sami).




Dalje: Laboratorijski rad ““““ 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 """". ..Zadatak : 1) M modificirati aplikaciju iz laboratorijski rad 9 (Prikaz podataka u tablici). Dodajte mogućnost prikaza nekih podataka iz tablice u histogramu ili tortnom grafikonu. 2) Konstruirajte graf zadane funkcije.

Slajd 2

“Prikaz grafičkih informacija u Delphiju” Pregled teme: Metode za prikaz grafičkih informacija u Delphiju. Prikaz slika. Prikaz geometrijskih oblika. Izrada grafikona i dijagrama.

Slajd 3

1. Metode za prikaz grafičkih informacija. U Delphiju postoji nekoliko načina za prikaz grafičkih informacija: Izlaz unaprijed pripremljenih slika (komponente slike, oblika); Izrada grafikona i dijagrama (komponenta grafikona, itd.); Programsko generiranje slika (Canvas objekt).

Slajd 4

Prikaz slika. Raspravljali smo o prikazivanju slika pomoću komponente Slika u jednoj od prethodnih tema. Ovdje ćemo pogledati primjer implementacije jednostavne animacije povremenom promjenom prikazane slike u komponentama slike. Idi na primjer.

Slajd 5

Prikaz geometrijskih oblika. Prikaz jednostavnih geometrijskih oblika na obrascu omogućuje komponenta Oblik.

Slajd 6

Prikaz geometrijskih oblika. Osnovna svojstva Shape komponente:

Slajd 7

Prikaz geometrijskih oblika. Možete stvoriti jednostavne dizajne od nekoliko Shape komponenti. Programskim mijenjanjem položaja (.Left, .Top), veličine (.Width, .Height) i boje (Brush.Color) komponenti oblika u crtežu, možete implementirati elemente najjednostavnije animacije. Razmotrite primjer.

Slajd 8

Izrada grafikona i dijagrama. Dijagrami su dizajnirani za vizualniji prikaz nizova numeričkih podataka, njihov vizualni prikaz i analizu. Primjer. Postoji nekoliko komponenti za izradu grafikona u Delphiju, a jedna od njih je komponenta Grafikon (odjeljak TeeChart Std).

Slajd 9

Izrada grafikona i dijagrama. Prikaz komponente Grafikon nakon instaliranja na obrazac:

Slajd 10

Izrada grafikona i dijagrama. Osim “Object Inspectora”, pristup svojstvima komponente Chart moguće je dobiti otvaranjem posebnog dijaloškog okvira (desni gumb na komponenti \ Edit Chart...) Dodavanje serije podataka Promjena vrste grafikona

Slajd 11

Izrada grafikona i dijagrama. Odabir vrste grafikona:

Slajd 12

Izrada grafikona i dijagrama. Postavljanje svojstava za koordinatne osi (Axis):

Slajd 13

Izrada grafikona i dijagrama. Podaci koji se prikazuju obično se programski prosljeđuju grafikonu, primjer: Series1.Clear; (očisti niz) for i:=1 do N do Series1.addxy(i, A[i], ‘’, clGreen); Vrijednost X-osi Vrijednost Y-osi Oznaka X-osi Boja podataka na grafikonu Razmotrite primjer iscrtavanja funkcije y = Sin(x)

Slajd 14

Dalje: Laboratorijski rad br. 13.1. “Prikaz slika i geometrijskih oblika, njihova animacija.” Zadatak: 1) Razviti aplikaciju za implementaciju jednostavne animacije povremenom promjenom prikazane slike u komponentama slike. (Broj slika je najmanje tri, slike odaberite sami).

Slajd 15

Zadatak: 2) Osmislite i nacrtajte sliku koristeći Shape komponente. Programskim mijenjanjem položaja, veličine ili boje komponenti oblika u crtežu možete implementirati elemente jednostavne animacije.

Slajd 16

Dalje: Laboratorijski rad br. 12.2. “Izrada grafikona i dijagrama.” Zadatak: Doraditi aplikaciju iz laboratorijskog rada br. 9 (Prikaz podataka u tablici). Dodajte mogućnost prikaza nekih podataka iz tablice u histogramu ili tortnom grafikonu. 2) Konstruirajte graf zadane funkcije.

Pogledaj sve slajdove