Componentă pentru afișarea informațiilor grafice în delphi. Prezentare pe tema „Afișarea informațiilor grafice în Delphi”. Lista componentelor pentru afișarea informațiilor grafice

LUCRĂRI DE LABORATOR

SUBIECT: « Grafică înDelphi– construcția celor mai simple
forme geometrice"

Scurte informații din teorie

Delphi oferă dezvoltatorului trei moduri de a afișa grafică:

    trasează în timp ce programul rulează

    utilizarea graficelor pre-create

    crearea de imagini folosind componente grafice

Pentru a construi grafice, au fost create clase speciale care oferă instrumente și metode de desen: instrumentele sunt descrise în trei clase - Tfont, Tpen, Tbrush; Zona de desen și metodele sunt furnizate de clasa Tcanvas.

ClasăTfont– specifică caracteristicile fontului utilizat pentru afișarea textului pe pânză. Proprietățile clasei sunt descrise în secțiunea „Proprietăți de bază disponibile pentru majoritatea componentelor”.

ClasăTpen– precizează caracteristicile stiloului (creionului) cu care se trasează linii.

Proprietăți clasă Tpen:

Culoare:Tcolor – culoarea liniei (implicit – negru)

Lăţime:integer – grosimea liniei în pixeli;

Stil = (psSolid, psDash, psDot, psdashDot, psClear) – definește stilul liniei (solid, punctat, punctat, liniuță punctat, invizibil)

ClasăTbrush– stabilește caracteristicile pensulei care pictează suprafața imaginii.

Proprietăți clasă Tbrush:

Culoare:Tcolor – culoarea pensulei (implicit – alb)

Stil– model de perie, poate lua următoarele valori:

BsSolid – colorant solid

BsClear – lipsa umbririi

BsVertical – linii verticale

BsBdiagonal – linii diagonale dreapta

BsDiagCross – celulă oblică

BsHorizontal – linii orizontale

BsFdiagonal – linii diagonale stânga

BsCross – cușcă

ClasăTcanvas– determină suprafața pe care este plasată imaginea creată, și instrumentele cu care este creată imaginea: font, creion, pensulă.

În mod implicit, întreaga zonă client a formularului este utilizată ca zonă de lucru (pânză) (fără antet, meniul principal și liniile de defilare ale formularului), dar puteți aloca zone de lucru mai mici în interiorul formularului folosind componente PaintBox sau Imagine. Originea coordonatei pânzei este colțul din stânga sus al zonei de lucru, lățimea zonei de lucru este determinată de proprietate ClientWidth, înălțime – proprietate Înălțimea clientului.

Proprietăți clasă Tcanvas:

Pânză:Tcanvas – definește zona de desen

Perie:Tbrush – pensula pentru vopsirea formelor inchise

Font:Tfont – font pentru afișarea textului pe pânză

Pix:Tpen – creion (pen) pentru desen

PenPos:Tpoint – poziția curentă a cursorului invizibil pe pânză

cometariu : Tip Tpoint – definit după cum urmează:

Tip Point = înregistrare

Pixeli: Tcolor - setează culorile pixelilor pânzei, X, Y - coordonatele pixelilor. Proprietatea Pixeli este convenabil de utilizat pentru trasarea graficelor folosind puncte de culoarea selectată.

Principalele metode ale clasei TCanvas

    procedură Mutați către(x,y:întreg); - mută stiloul fără a trasa o linie la un punct cu coordonate (x, y).

    Procedură LineTo(x,y:întreg); - trasează o linie de la punctul curent până la punctul cu coordonatele (x, y).

Exemplu : Desenați o linie diagonală albastră pe formă din colțul din stânga sus al formei până în colțul din dreapta jos.

Pen.culoare:= clblue;

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

    procedură Dreptunghi(x1,y1,x2,y2:întreg); - desenează un dreptunghi: x1,y1 – coordonatele colțului din stânga sus; x2, y2 sunt coordonatele colțului din dreapta jos.

Exemplu : Desenați un pătrat umbrit în galben cu o latură de 60 de pixeli în mijlocul formei.

var Xc,Yc: întreg; //

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.color:=clyellow;

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

    procedură Elipsă(x1,y1,x2,y2:întreg); - desenează o elipsă înscrisă într-un dreptunghi cu coordonatele specificate.

Exemplu : desenați o elipsă înscrisă în componenta PaintBox.

PaintBox1.Canvas.Pen.Width:=4; //latimea liniei = 4 pixeli

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

    procedură Poligon(); - desenează un poligon închis specificat de o matrice de coordonate.

Exemplu : desenați un diamant umplut care conectează punctele medii ale laturilor formei

Var Xc,Yc:întreg; // coordonatele centrului zonei client a formularului

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.Color:=Rgb(275,140,70); // portocale culoare umbrire

Canvas.Polygon();

Sfârşit;

    Procedură Arc(x1,y1,x2,y2,x3,y3,x4,y4:intger); - afișează arcul unei elipse mărginite de un dreptunghi (x1, y1, x2, y2). Arcul este afișat de la un punct cu coordonate (x3,y3) la un punct cu coordonate (x4,y4) împotrivaîn sensul acelor de ceasornic.

Exemplu : desenați un arc de elipsă care conectează mijlocul părții superioare a componentei
PaintBox cu mijlocul părții drepte.

Procedura Tform1.Button1Click(Expeditor:Obiect);

Var X3,y3,x4,y4: Număr întreg;

Cu PaintBox1 faceți

Canvas.Pen.Color:= clAlb;

Canvas.Pen.Width:= 3;

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

X3:= ClientWidth div 2;

X4:= ClientWidth;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

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

Sfârşit;

    procedură Coardă(x1,y1,x2,y2,x3,y3,x4,y4:intger); - desenează o coardă - o dreaptă care leagă 2 puncte ale elipsei: un punct cu coordonate (x3, y3) cu un punct (x4, y4).

Exemplu : Înlocuiți metoda Chord în exemplul dat pentru metoda ARC și obțineți următorul rezultat.

    procedură Plăcintă(x1,y1,x2,y2,x3,y3,x4,y4:intger); - desenează un segment de elipsă care leagă centrul elipsei cu coordonatele (x3,y3) și (x4,y4).

Exemplu : În exemplul dat pentru metoda ARC, imaginați-vă metoda PIE și obțineți acest rezultat.

    procedură TextOut(x,y:întreg;Text:șir); - scoate șirul trecut în parametrul Text într-un dreptunghi al cărui colț din stânga sus este specificat coordonatele x,y. Caracteristicile fontului sunt stabilite de instrumentul Font.

Exemplu : scrieți numele graficului trasat în partea de jos a formularului.

Canvas.Font.Height:=20 ; //înălțimea caracterului 20 pixeli

Canvas.Font.Color:=clblue;

Canvas.TextOut(10, ClientHeight-24, ‘graficul funcției SIN(X)’);

Componente grafice

Delphi oferă o serie de componente gata făcute care vă permit să vă îmbunătățiți interfața cu utilizatorul. Aceste componente se află pe pagină AdiţionalȘi Sistem palete componente.

ComponentăImagine(ClasăTimage) – creat pentru afișarea imaginilor grafice stocate în fișiere externe cu extensii:

    Ico(icoana, pictograma);

    Bmp (bitmap, bitmap);

    Wmf, .emf (metafișier);

    Jpg, .jpeg (imagine comprimată JPEG).

De bază proprietăți :

Dimensiune automată:boolean – atunci când este setată la true, componenta își ajustează dimensiunile la dimensiunea imaginii încărcate; implicit este fals.

Întinde:boolean – dacă este adevărat, valoarea încărcată ocupă întreaga zonă a componentei; implicit este fals.

Pânză:Tcanvas – folosit pentru desenarea în interiorul componentei în timpul execuției programului.

Imagine:Tpicture - Definește imaginea plasată în componentă.

De bază metode clasă Tpictura:

Procedură LoadFromFile(Nume fișier:șir); - încarcă o imagine dintr-un fișier numit Filename în componentă.

Procedură SaveToFile(Nume fișier:șir); -salvează imaginea din componentă într-un fișier numit Filename.

ComponentăPaintBox - definește o zonă de desen dreptunghiulară. Proprietatea principală este Pânză, toate metodele clasei Tcanvas sunt disponibile, nu are proprietăți independente.

Exemplu : desenați o elipsă galbenă înscrisă în componenta PaintBox1.

Procedura Tform1Button1Click(sender:Object);

Cu PaintBox1.Canvas face

Brush.Color:=clyellow;

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

Sfârşit;

ComponentăBitBtn butonul raster

Butonul BitBtn, spre deosebire de cel standard, poate conține, pe lângă titlu (Caption), o imagine specificată de proprietate Glifă. Există un set de butoane standard BitBtn, cu proprietăți predefinite (cu o imagine specifică, inscripție și scop) - tipul de buton standard este selectat prin proprietate Drăguț. Kind=(bkCustom, bkAbort,bkCancel, bkClose...)

Sarcina nr. 1

Creați o aplicație care conține două componente de imagine și 4 butoane pe formularul principal („Încărcați imaginea”, „Construiți o figură geometrică”, „Schimbați culoarea”, „Ieșire”) și vă permite să:

a) încărcați imaginea grafică selectată de utilizator în componenta Image1, astfel încât imaginea să ocupe întreaga zonă a componentei Image.

b) sub componenta Image1 se afișează inscripția „Aceasta este o imagine dintr-un fișier.

(pentru orice măsurare a dimensiunii și poziției componenteiImagine1 inscripție ar trebui
situat strict sub componenta).

c) desenați o figură geometrică în interiorul componentei Image2: un segment de elipsă umplut care conectează mijlocul componentei Image cu mijlocul părților inferioare și drepte ale componentei Image.

(pentru orice modificare a dimensiunii și poziției componenteiImagine2 figura trebuie construită corect, adică conform caietului de sarcini privind componentaImagine2)

d) schimbați culoarea liniei unei figuri desenate în Image2 la cererea utilizatorului folosind componenta ColorDialog.

Sarcina nr. 2

Creați o aplicație care vă permite să plasați aleatoriu mai multe etichete (de exemplu, cuvântul „Ura!”) în componenta Imagine. Pentru a implementa acest lucru, utilizați generatorul de numere aleatoare aleatoriu și funcția Random.

Dimensiunile componentei Imagine, cuvântul afișat în Imagine și numărul de cuvinte trebuie introduse de către utilizator.

Sarcina nr. 3

Creați o aplicație care vă permite să selectați numele unei forme geometrice dintr-un ListBox și să desenați forma selectată în componenta Image. Culoarea formei este selectată din componenta RadioGroup.

Sarcina nr. 4

Împărțiți componenta PaintBox1 în 4 părți egale, pictați fiecare parte într-o culoare diferită, de exemplu: albastru, galben, verde, roșu.

Lângă fiecare colț al PaintBox1, scrieți coordonatele acelui colț (față de originea formularului pe care se află componenta PaintBox1).

Sarcina nr. 5

CU

selectați tipul de formă de desenat din componenta Radiogroup1, culoarea de umplere din componenta Radiogroup2 și trageți forma selectată în componenta Image.

Sarcina nr. 6

Creați o aplicație care să permită utilizatorului să seteze dimensiunile componentei PaintBox1 (în pixeli).

Împărțiți componenta PaintBox1 în 2 părți egale, în interiorul fiecărei părți desenați o elipsă, umplută cu culoarea selectată de utilizator în ColorDialog.

Sarcina nr. 7

CU Creați o aplicație care vă permite să:

selectați numele unei forme geometrice din ListBox și desenați forma selectată în componenta Image. Forma ar trebui să fie completată cu culoarea selectată de utilizator în componenta ColorDialog dacă este selectat Da în componenta RadioGroup.

Sarcina nr. 8

Creați o aplicație care să permită utilizatorului să seteze dimensiunile componentei PaintBox1 (în pixeli).

Împărțiți componenta PaintBox1 în 4 părți egale, în interiorul fiecărei părți desenați o formă geometrică diferită (elipsă, romb, triunghi și dreptunghi). Culoarea fiecărei forme este selectată de utilizator în ColorGrid.

Sarcina nr. 9

selectați numele formei geometrice din ListBox
forme (elipsă, romb, dreptunghi) și desenați
forma selectată în componenta Imagine. Locație
forme din componenta Imagine (I trimestru, II trimestru,

III sau IV sfert) și se selectează culoarea figurii
din componentele RadioGroup.

Sarcina nr. 10

Creați o aplicație care să permită utilizatorului să seteze dimensiunile componentei PaintBox1 (în pixeli).

Asigurați-vă că dimensiunea laterală nu poate fi text, nu poate fi un număr negativ și nu poate depăși dimensiunea mai mică a formularului.

Împărțiți componenta PaintBox1 în 4 părți egale, în interiorul fiecărei părți desenați o formă geometrică selectată de utilizator în Combobox (elipsă, romb, triunghi și dreptunghi). Culoarea figurii este selectată de utilizator în ColorBox.

Sarcina nr. 11

Creați o aplicație care vă permite să:

selectați din componenta Radiogroup poziția desenului

în componenta Imagine a triunghiului dreptunghic, setați
culoarea umbririi figurii sau culoarea conturului, în funcție de
activarea butoanelor Casetei de selectare. Selectați culoarea prin
componenta ColorGrid.

Sarcina nr. 12

Creați o aplicație care să permită utilizatorului să seteze dimensiunile componentei PaintBox1 (în pixeli).

Asigurați-vă că dimensiunea laterală nu poate fi text, nu poate fi un număr negativ și nu poate depăși dimensiunea mai mică a formularului.

Împărțiți componenta PaintBox1 în 2 părți egale, în interiorul uneia dintre părți desenați o formă geometrică selectată de utilizator în Combobox (elipsă, romb, triunghi și dreptunghi). Culoarea figurii este selectată de utilizator în ColorBox.

De exemplu, puteți schimba culoarea formularului după cum urmează:

form1.Color:= ColorBox1.Colors;

Sarcina nr. 13

Creați o aplicație care vă permite să:

a) desenați un pătrat în mijlocul formei (mărimea laturii pătratului este introdusă de utilizator). Asigurați-vă că dimensiunea laterală nu poate fi text, nu poate fi un număr negativ și nu poate depăși dimensiunea mai mică a formularului.

b) împărțiți pătratul într-o diagonală sau două, în funcție de includerea butoanelor Casetei de selectare și pictați fiecare triunghi rezultat într-o culoare diferită. Alegerea culorii este făcută de utilizator.

Sarcina nr. 14

Creați o aplicație care să permită utilizatorului să seteze dimensiunile componentei PaintBox1 (în pixeli).

Asigurați-vă că dimensiunea laterală nu poate fi text, nu poate fi un număr negativ și nu poate depăși dimensiunea mai mică a formularului.

Împărțiți componenta PaintBox1 în 2 părți egale, în interiorul unei părți desenați un romb, iar în interiorul celeilalte părți desenați orice triunghi. Culoarea figurii este selectată de utilizator în ColorBox.

De exemplu, puteți schimba culoarea formularului după cum urmează:

form1.Color:= ColorBox1.Colors;

Sarcina nr. 15

Creați o aplicație care vă permite să:

a) setați dimensiunile componentei Imagine pe orizontală și pe verticală să fie aceleași și egale cu numărul introdus de utilizator de la tastatură;

(cu condiția ca dimensiunea laterală să nu fie text, să nu fie un număr negativ și să nu depășească dimensiunea mai mică a formularului)

b) împarte componenta Imagine în 4 pătrate egale cu două linii albastre;

c) în interiorul fiecărui pătrat rezultat, desenați un cerc înscris în el (permiteți utilizatorului să aleagă culoarea cercurilor prin caseta de dialog de selecție a culorii).

Sarcina nr. 16

Creați o aplicație care să permită utilizatorului să seteze dimensiunile componentei PaintBox1 (în pixeli).

Asigurați-vă că dimensiunea laterală nu poate fi text, nu poate fi un număr negativ și nu poate depăși dimensiunea mai mică a formularului.

Împărțiți componenta PaintBox1 în 9 părți egale și pictați fiecare dreptunghi de șah rezultat. Culoarea de umplere este selectată de utilizator în ColorBox.

De exemplu, puteți schimba culoarea formularului după cum urmează:

form1.Color:= ColorBox1.Colors;

Sarcina nr. 17

Plasați două componente Imagine și patru butoane pe formular: Line Color, Fill Color, Ok și Exit; și componenta Editare.

Când faceți clic pe butonul OK, un pătrat cu latura X este desenat în Imagine1, iar un triunghi dreptunghic cu catete egale, fiecare dintre ele având lungimea X, este desenat în Imagine2.

Vârful triunghiului coincide cu originea Image2. Unul dintre vârfurile pătratului coincide cu originea Image1.

Butonul OK devine disponibil numai atunci când ați selectat o culoare de linie și o culoare de umplere pentru a desena forma.

X – selectează aleatoriu, folosind Funcții aleatorii iar componenta Edit ar trebui să afișeze valoarea lui X.

Sarcina nr. 18

Creați o aplicație care să permită utilizatorului să seteze dimensiunile componentei PaintBox1 (în pixeli).

Împărțiți componenta PaintBox1 în 4 părți egale; în interiorul părții selectate de utilizator, trebuie construit un cerc umplut, a cărui dimensiune este setată de utilizator. Utilizatorul selectează culoarea de umplere în ColorBox.

De exemplu, puteți schimba culoarea formularului după cum urmează:

form1.Color:= ColorBox1.Colors;

Pentru a afișa informații grafice, biblioteca Delphi oferă componente, a căror listă este dată în tabel. 6.

Tabelul 6

Componente pentru afișarea informațiilor grafice

Componentă Pagină Descriere
Imagine Adiţional Folosit pentru afișarea graficelor
PaintBox (fereastră pentru desen) Sistem Folosit pentru a crea o zonă pe formular în care puteți desena
DrawGrid (tabel de desene) Adiţional Folosit pentru a afișa date non-text în rânduri și coloane
Diagramă (diagrame și grafice) Adiţional Componenta aparține familiei de componente TeeChart, care sunt utilizate pentru a crea diagrame și grafice
Chartfx (diagrame și grafice) ActiveX Editor de diagrame și grafice
FIBook (pagini Excel) ActiveX Componenta de introducere și procesare a informațiilor numerice
VtChart (diagrame) ActiveX Fereastra de diagramare

În plus, puteți afișa și introduce informații grafice pe suprafața oricărei componente de fereastră care are proprietatea Pânză- pânză.

Tabele de imagine - Componentele DrawGrid și StringGrid

Componentă DrawGrid folosit pentru a crea un tabel în aplicație care poate conține imagini grafice. Această componentă este similară cu componenta StringGridîntrucât acesta din urmă este derivat din DrawGrid. Prin urmare în DrawGrid toate proprietățile, metodele, evenimentele componentei sunt prezente StringGrid cu excepția celor legate de text, i.e. cu excepția proprietăților Celulele, Coloane, rânduri, obiecte. Din acest punct de vedere, componenta StringGrid are capacități semnificativ mai mari decât DrawGrid deoarece poate stoca atât imagini, cât și texte în celule. Și dacă doriți să introduceți text în unele celule DrawGrid atunci va trebui să utilizați metode de afișare a textului pe un contur pentru aceasta, ceea ce nu este foarte convenabil.

Componente DrawGrid și StringGrid au un contur pânză, pe care poți posta imagini.

Există o metodă Cell-Rect, care returnează zona de pânză alocată pentru o celulă dată. Această metodă este definită ca

funcția CellRect(ACol, ARow: Longint): TRect;

Unde ACol și ARow- indici de coloană și rând începând de la 0, la intersecția cărora se află celula. Zona returnată de această funcție este zona pânzei în care poate fi desenată imaginea dorită. De exemplu, operatorul

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

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

metoda copierii CopyRect la celula (1,1) a tabelului DrawGridl imaginea din componentă BitMap. Această celulă este a doua din stânga și a doua din partea de sus în tabel, deoarece indicii încep de la 0. Vă rugăm să rețineți că, dacă celula este mai mică decât dimensiunea imaginii copiate, atunci numai partea din stânga sus a imaginii va apărea în celula.

Imagine pe pânza componentă DrawGrid și StringGrid, ca și pe pânza oricărei componente, este supusă ștergerii atunci când fereastra aplicației este suprapusă de alte ferestre sau, de exemplu, când aplicația este minimizată.

O modalitate convenabilă de a introduce imagini în celule DrawGrid este de a folosi un handler de evenimente OnDrawCell. Aceste evenimente au loc pentru fiecare celulă de tabel în momentul în care este redesenată. Antetul handlerului arată astfel:

procedura TForml.DrawGridlDrawCell(Expeditor: TObject;

ACol, ARrow: Integer; Rect: TRect; Stare: TGridDrawState)

Parametru Stat indică starea celulei. Este un set care poate conține următoarele elemente: gdSelectat- celula selectată, gdFocused- celula care este focalizată, gdFixed- o celulă într-o zonă fixă ​​a tabelului. Parametru Stat poate fi folosit pentru a afișa celulele în mod diferit în diferite stări.

Componentă de formă

Componentă de formă poate fi clasificat doar condiționat ca mijloc de afișare a informațiilor grafice, deoarece reprezintă pur și simplu diverse forme geometrice, umbrite corespunzător. Proprietatea principală a acestei componente este Formă(form), care poate lua următoarele valori:

StRectangle – dreptunghi;

StSquare – pătrat;

StRoundRect - dreptunghi cu colțuri rotunjite;

StRouhdSquare - pătrat cu colțuri rotunjite;

StEllipse – elipsă;

StCircle - cerc.

O altă proprietate esențială a componentei este Perie(perie). Această proprietate este un obiect de tip TBrush, având o serie de sub-proprietăți, în special culoarea (Brush.Color) si stil (Brush.Style) umplerea figurii. Puteți vedea umplerea pentru unele valori de stil în Fig. 3.2. A treia proprietate specifică a componentei Formă- Pix(pen) care definește stilul liniei.

Componenta diagramei

Acum să ne uităm la componentă Diagramă. Această componentă vă permite să construiți diverse diagrame și grafice care arată foarte impresionant. Componentă Diagramă are multe proprietăți, metode, evenimente, așa că dacă le-am lua în considerare pe toate, ar trebui să dedicăm un întreg capitol acestui lucru. Prin urmare, ne vom limita la a lua în considerare doar caracteristicile principale Diagramă. Restul le puteți găsi în ajutorul încorporat al Delphi sau pur și simplu le puteți încerca experimentând diagramele.

Componentă Diagramă este un container de obiecte Serie- mostenitorii clasei TChartSeries. Fiecare astfel de obiect reprezintă o serie de date caracterizate printr-un anumit stil de afișare: un anumit grafic sau diagramă. Fiecare componentă Diagramă poate include mai multe episoade. Dacă doriți să afișați un grafic, atunci fiecare serie va corespunde unei curbe pe grafic. Dacă doriți să afișați diagrame, pentru unele tipuri de diagrame puteți suprapune mai multe serii diferite una peste alta, pentru altele (cum ar fi diagramele circulare) probabil că va arăta urât. Cu toate acestea, chiar și în acest caz, puteți seta pentru o componentă Diagramă mai multe serii de date identice cu tipuri diferite diagrame. Apoi, activând unul dintre ele de fiecare dată, puteți oferi utilizatorului o alegere a tipului de diagramă care afișează datele de care sunt interesați.

Puneți una sau două componente Diagramă pe formular și priviți proprietățile care se deschid în Object Inspector. Iată câteva explicații ale unora dintre ele.

AllowPanning - determină capacitatea utilizatorului de a derula partea observată a graficului în timpul execuției, apăsând butonul din dreapta al mouse-ului. Valori posibile: pmNone - defilarea este interzisă, pmHori/ontal, pm Vertical sau pmBoth - defilarea este permisă, respectiv, numai pe direcția orizontală, numai pe direcția verticală, sau în ambele direcții.

AhowZoom - permite utilizatorului să modifice zoom-ul unei imagini în timpul rulării prin tăierea porțiunilor dintr-o diagramă sau grafic cu cursorul mouse-ului. Dacă cadrul unui fragment este desenat spre dreapta și în jos, atunci acest fragment este întins pentru a acoperi întregul câmp al graficului. Și dacă cadrul este desenat în sus și la stânga, atunci scara originală este restaurată.

Titlu - definește titlul diagramei.

Picior - definește legenda de sub diagramă. Nici unul implicit. Textul semnăturii este determinat de subproprietatea Text.

Frame - definește cadrul în jurul diagramei.

Lângă multe dintre proprietățile enumerate în Object Inspector există butoane cu elipse care vă permit să apelați una sau alta pagină a Chart Editor - o fereastră cu mai multe pagini care vă permite să setați toate proprietățile diagramelor. Editorul de diagrame poate fi apelat și făcând dublu clic pe componentă Diagramă sau făcând clic dreapta pe el și selectând comanda Edit Chart din meniul pop-up.

Faceți dublu clic pe componenta de sus Diagramă. Veți fi dus la fereastra Chart Editor din pagina Chart, care are mai multe file. În primul rând, veți fi interesat de fila Serii de pe acesta. Faceți clic pe butonul Adăugați - adăugați o serie. Veți fi dus la o fereastră în care puteți selecta tipul de diagramă sau grafic. În acest caz, selectați Pie - o diagramă circular. Folosind fila Titluri, puteți seta titlul diagramei, fila Legendă vă permite să setați parametrii pentru afișarea legendei diagramei (lista de simboluri) sau să o eliminați complet de pe ecran, fila Panou determină aspectul panoului pe pe care este afișată diagrama, fila 3D vă oferă posibilitatea de a schimba aspectul diagramei: înclinare, deplasare, grosime etc.

Când lucrați în Editorul de diagrame și ați selectat un tip de diagramă, componentele Diagramă Formularul dvs. își afișează aspectul cu datele condiționate introduse în el. Prin urmare, puteți vedea imediat rezultatul aplicării diferitelor opțiuni aplicației dvs., ceea ce este foarte convenabil.

Pagina Serii, care are și un număr de file, vă oferă posibilitatea de a selecta opțiuni suplimentare de afișare pentru serie. În special, pentru o diagramă circulară, în fila Format, este util să activați opțiunea Circled Pie, care va asigura că diagrama este afișată ca un cerc la orice dimensiune a componentei Chart. În fila Marks, butoanele grupului Stil determină ce se va scrie pe etichetele aferente segmentelor individuale ale diagramei: Valoare - valoare, Procent - procente, Etichetă - nume de date etc.

Puteți, dacă doriți, să adăugați o altă serie identică la această componentă Diagramă făcând clic pe butonul Clonează din fila Serii din pagina Diagramă și apoi pentru aceasta noua serie Faceți clic pe butonul Modificare și selectați un alt tip de diagramă, de exemplu Bară.

Ieșiți din Editorul de diagrame, selectați componenta de jos Chart din aplicația dvs. și repetați setarea proprietăților acesteia folosind Editorul de diagrame. În acest caz, va trebui să specificați două serii dacă doriți să afișați două curbe pe grafic și să selectați tipul de diagramă cu linii. Deoarece despre care vorbim despre grafice, puteți utiliza filele Axe și Pereți pentru a specifica caracteristicile de coordonate ale axelor și marginilor tridimensionale ale graficului.

Asta e pentru design aspect aplicarea se încheie. Tot ce rămâne este să scrieți codul care specifică datele pe care doriți să le afișați. Pentru aplicația de testare, să setăm doar câteva date constante în diagrama circulară și câteva funcții în grafice.

Pentru a seta valorile afișate, trebuie să utilizați metodele Series. Să ne concentrăm doar pe trei metode principale.

Metodă clarșterge o serie de date introduse anterior.

Metodă Adăuga:

Adăugați(Const AValue:Double; Const ALabel:String; AColor:TColor) ,

vă permite să adăugați un punct nou diagramei. Parametru O valoare corespunde valorii adăugate, parametrului O eticheta- o etichetă care va fi afișată pe diagramă și în legendă, O culoare- culoare. Parametru O eticheta- optional, poate fi setat gol: ‘ ’. Metodă AdaugăXY:

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

vă permite să adăugați un nou punct la graficul funcției. Opțiuni AXValueȘi AYValue corespund argumentului și funcției. Opțiuni ALabel și AColor la fel ca in metoda Adăuga.

Astfel, procedura de încărcare a datelor din exemplul nostru ar putea arăta astfel:

const Al=155; A2=251; A3=203; A4=404; var i:cuvânt; ÎNCEPE

Cu seria începe

Adaugă(Al,"Atelier l",clGalben);

Adaugă(A2,"Atelier 2",clBlue);

Add(A3,"Workshop 3",clRed);

Adaugă(A4,"Atelier 4",clViolet); Sfârşit;

Seria2.Clear; SeriaS.Clear; pentru i:=0 până la 100 începe

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

SeriaS.AddXY(0.02*Pi*i,cos(0.02*Pi*i) end;

ClRed); ,clAlbastru);

Operatori clar sunt necesare dacă intenționați să actualizați datele în timp ce aplicația rulează.

Aceasta încheie introducerea noastră la componentă Diagramă. Adevărat, am luat în considerare doar o mică parte din capacitățile sale.


„Afișarea informațiilor grafice în Delphi” Subiect: 1.C S pppp ooooo ssss ooooo bbbb yyyy in in in yyyy vvvv ooooo dddd aaaa yy g rrrrr aaaa ffff iii hhhh eeee ykffyo iii hhhh eeee sss oo 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 kkbbzhr ooooo kkbbzhr ooooo kkbbzhzr ooooo h 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 and dvva i dvva si dvva i dvva rrrrr aaaa mmmm mmmm....


1. Metode de afișare a informațiilor grafice. În Delphi, există mai multe modalități de afișare a informațiilor grafice: Ieșire de imagini pre-preparate (componente Imagine, Formă); P Construirea de grafice și diagrame (componenta Chart etc.); F Formarea imaginilor în mod programatic (obiect Canvas).


2.Afișare 2.Afișare imagini. Afișarea imaginilor folosind componenta Imagine pe care am examinat-o în LLC DDDDD DDDD LLC Yiyy și și și ZZZZ P P P P PRRRDDDDDDDDDDDD IIII XXXX T T T T T T T T T T TOTEMMM .... Aici vom lua în considerare un exemplu de implementare cea mai simplă animație prin modificarea periodică a imaginii afișate în componentele Imagine. PPPP EDURRRREEEE YYYE TTTT IIII n N N n AAAAAA PP PRRR IIII MMMMEEEE RRRRR ...






3.Display 3.Display de forme geometrice. ȘI Din mai multe componente Shape puteți crea desene simple. P Schimbând programatic poziția (.Left,.Top), dimensiunea (.Width,.Height) și culoarea (Brush.Color) componentelor Shape dintr-un desen, puteți implementa elemente ale celei mai simple animații. R R R R aaaa ssssssss mmmm ooooh tttt rrrrr eee tttt yee p p p p rrrrr iii mmmm eee rrrrr....


4.Constructia 4.Constructia de grafice si diagrame. Diagramele sunt concepute pentru o reprezentare mai vizuală a matricelor de date numerice, afișarea vizuală și analiza acestora. PPPP rrrrr iiii mmmm eee rrrrr.... Pentru a crea diagrame în Delphi există mai multe componente, una dintre ele este componenta Chart (secțiunea TeeChart Std).










Grafice și diagrame. Datele care urmează să fie afișate sunt de obicei transmise graficului în mod programatic, de exemplu: Series1.Clear; (serie clară) pentru i:=1 la N do Series1.addxy(i, A[i], clGreen); Valoarea axei X Valoarea axei Y Eticheta axei X Culoarea datelor pe diagrama PP aaaa sssssssssss mmmm ooooo tttt rrrrr eee tttt yee p p p p prrrr iiii mmmm eee rrrrr p p p poooorn oiiiio iii daaaaa aaaa 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))))


Următorul: Lucrări de laborator „“““ OOOO tttt ooooo bbbb rrrrr aaaa zhzhzh eee nnnn iiii eee k k k k aaaa rrrrr tttt iiii nnnn ooooo kkk i i i i yyyy eett eeeeeeeeeeeeeeeeeeeee e 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 """"... Sarcină: 1) Dezvoltați o aplicație pentru efectuarea de animații simple prin modificarea periodică a imaginii afișate în componentele Imagine. (Numărul de poze este de cel puțin trei, alegeți singuri pozele).




Următorul: Lucrări de laborator „“““ PPPP oooo ssss tttt rrrrr ooooo eee nnnn iiii eee yy g rrrrr aaaa ffff iiii kkkk ooooo vvvv i i i d d d iiii aaaa yyyy aaaa aaaa mmr a. modifica aplicatia din munca de laborator 9 (Afișați datele într-un tabel). Adăugați capacitatea de a afișa unele date dintr-un tabel într-o histogramă sau diagramă circulară. 2) Construiți un grafic al funcției date.

Biblioteca de componente vizuale (VCL) Delphi ne oferă următoarele componente vizuale pentru afișarea informațiilor grafice: Image (imagine), PaintBox (fereastră pentru desen), DrawGrid (tabel de imagini), Chart (diagrame și grafice), Animate (iesire clipuri video). ), precum și Form. Aceste componente au o proprietate Canvas (discutată mai sus) care oferă acces la fiecare pixel. Desigur, nu trebuie să desenați pixel cu pixel pentru a lucra cu grafica în Delphi; sistemul Delphi oferă instrumente puternice pentru lucrul cu grafica.

Să aruncăm o privire mai atentă la componentele de mai sus:

Componenta imagine

Este un obiect al clasei TImage. Folosit pentru a afișa imagini citite din fișiere grafice. În mod implicit, afișează imaginile prezentate în format *.bmp pe suprafața formularului. Pentru a scoate imagini în format jpg, trebuie să includeți modulul JPEG în directiva utilizări. Situat în fila Suplimentare a paletei de componente.

După plasarea componentei Imagine pe formular, aceasta ia forma unei zone dreptunghiulare selectate.

Figura 9 - Componenta imagine pe formular

Pentru a deschide un dialog pentru selectarea imaginii dorite, trebuie să faceți următoarele utilizând Object Inspector. Pentru a face acest lucru, găsiți proprietatea Imagine și faceți clic pe cele trei puncte din stânga acesteia. Se deschide fereastra Picture Editor și în ea selectați Încărcare; în fereastra care se deschide, selectați fișierul imagine.

Acest lucru se poate face și prin programare apelând metoda LoadFromFile a proprietății Picture:

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

unde nume_pic.jpeg este numele fișierului.

Tabelul 8 - Proprietățile de bază ale componentei Image

Proprietate

Descriere

Imagine afișată în câmpul pentru componente

Dimensiunile componentelor. Dacă aceste dimensiuni sunt mai mici decât dimensiunea ilustrației și proprietățile Stretch, AutoSize și Proportional sunt setate la False, atunci o parte a imaginii este afișată

Vă permite să scalați automat imaginile fără distorsiuni. Pentru a efectua scalarea, proprietatea AutoSize trebuie setată la False

Vă permite să scalați automat (micșora sau întinde) o imagine pentru a se potrivi cu dimensiunea componentei Imagine. Dacă dimensiunea componentei nu este proporțională cu dimensiunea imaginii, atunci imaginea va fi distorsionată

Vă permite să redimensionați automat o componentă pentru a se potrivi cu dimensiunea imaginii

Vă permite să determinați poziția orizontală a imaginii în câmpul componentei Image dacă lățimea imaginii este mai mică decât lățimea componentei.

Suprafață pentru afișarea graficelor

Specifică o culoare transparentă de fundal a imaginii

Exemplul 1: Scrieți un program pentru a vizualiza imagini folosind componenta Image. Programul trebuie să aibă următoarele capacități:

  • · vizualizarea imaginilor din folder;
  • · vizualizați imaginea la dimensiune completă sau în formatul cel mai potrivit pentru dimensiunea ferestrei;
  • · gestionați fișierele de imagine, precum și imprimați, salvați, ștergeți și editați imagini;
  • · dacă este necesar, deschideți imaginea într-un program de editare;

Figura 10 - Fereastra programului înainte de a începe

Crearea unui proiect:

  • 1. Creați un folder pentru fișierele de program și lansați mediul de dezvoltare integrat Delphi.
  • 2. Adăugați componente la formular:

Mai întâi, vom plasa pe formular componenta Image, componenta principală cu care va trebui să lucrăm. În plus, vom avea nevoie de următoarele componente:

  • · ScrollBox Este necesar atunci când în modul full-size imaginea va depăși imaginea. Atribuim valoarea alClient proprietății sale Aling, astfel încât dimensiunile acesteia să se schimbe proporțional cu dimensiunea ferestrei. Și plasați componenta Imagine pe ea;
  • · Vom adăuga, de asemenea, componentele de dialog SavePictureDialog și OpenPictureDialog, concepute pentru salvarea și deschiderea imaginilor. Avem nevoie de primul pentru a copia imaginea în directorul selectat, de al doilea - pentru a apela dialogul de deschidere fisier grafic. Acestea sunt situate pe pagina Dialogs a Paletei de componente. Din această pagină avem nevoie și de componenta PrintDialog, pe care trebuie să o apelăm dialogul pentru selectarea unei imprimante pentru imprimare.
  • · Adaugă MainMenu pentru a adăuga un meniu principal la program și XPManifest pentru un design mai colorat
  • · De asemenea, trebuie să stocăm undeva numele imaginilor aflate în directorul de lucru. Componenta ListBox este convenabilă pentru aceste scopuri; poate fi ascunsă la procesarea evenimentului Create al Form1.
  • · Pentru a plasa butoanele de navigare și a lucra convenabil cu ele, vom adăuga un panou Veil, pe care vom plasa aceste butoane (Imaginea anterioară, Imaginea următoare, Dimensiune adevărată, Potrivire la dimensiune, Ștergere, Copiere în, Imprimare, Editare). SpeedButton este selectat ca componentă pentru ele.
  • · Adăugați un temporizator pentru a captura apăsările de taste „Stânga” (imaginea anterioară), „Dreapta” (imaginea următoare) și tasta „Del” (Ștergerea imaginii).
  • · Și încă o componentă - ProgressBar, care afișează procesul de încărcare a fișierelor mari *.Jpg.
  • 3. Scrieți codul pentru procesarea evenimentului de clic pe butonul (Imaginea anterioară, Imaginea următoare, Dimensiune adevărată, Ajustare la dimensiune, Ștergere, Copiere în, Imprimare, Editare). Scrieți codul pentru procesarea evenimentului de clic pe elementele meniului MainMenu (Ieșire, Deschidere, Închidere, Creare).
  • 4. Setați setările inițiale pentru crearea formularului. Faceți dublu clic pe spatiu liber formează și scrie procedura codului de procedură TForm1.FormCreate(Sender:TObject), vezi codul modulului din Anexa 1.
  • 5. Scrieți proceduri de următorul tip:

procedura FindFileInFolder(cale, ext: șir);

Această procedură scanează folderul cale pentru fișiere folosind masca ext.

Lista completă a codului modulului de program se află în Anexa 1 (Listarea programului 3).

  • 1. Enumerați capacitățile componentei Image.
  • 2. Din ce clasă este un obiect componenta Image?
  • 3. 3. Ce tip de fișier acceptă implicit componenta Image?
  • 4. 4. Enumerați principalele proprietăți ale componentei Image.
  • 5. 5. Ce proprietate stochează imaginea componentei Image?

Descrierea prezentării prin diapozitive individuale:

1 tobogan

Descriere slide:

2 tobogan

Descriere slide:

Mediu vizual Programare Delphi, precum Windows, acceptă GUI utilizator (GDI – Graphic Delphi Interface). În Delphi, există două moduri de afișare a informațiilor grafice: afișarea imaginilor pre-preparate; desen din program.

3 slide

Descriere slide:

Prima metodă se bazează pe utilizarea componentelor Image și Shape. Puteți utiliza o imagine gata făcută (pictogramă) sau le puteți crea singur folosind Editorul de imagini. A doua modalitate este de a genera imagini în mod programatic folosind obiectul Canvas.

4 slide

Descriere slide:

Delphi are la dispoziție obiect special, care este stilată ca o proprietate Canvas. Este disponibil doar în timp ce aplicația rulează, deci poate fi controlată doar din program prin scriere codul necesarîn limbajul Object Pascal. Dacă un obiect are proprietatea Canvas, puteți desena pe suprafața lui. Cei mai potriviți candidați pentru acest rol sunt forma în sine și componenta specială PaintBox.

5 slide

Descriere slide:

Proprietăți obiect pânză: Pen – proprietate pentru desenarea liniilor și a chenarelor formelor geometrice. Creionul urmează comenzile cursorului grafic și, la rândul său, are propriile proprietăți imbricate: Culoare – determină culoarea liniei (negru implicit); Mod – stil de desen (are multe semnificații care nu sunt date aici); Stil – stil de linie, care poate lua următoarele valori: рsSolid – solid (implicit); рsDosh – punctat; psDot – punctat; рsDoshDot – linie punctată (și alte proprietăți); Widh – grosimea liniei (implicit 1 pixel);

6 diapozitiv

Descriere slide:

Brush – o proprietate pentru umplerea formelor cu următoarele proprietăți imbricate: Culoare – culoarea pensulei (alb implicit); Stil – model de pensulă, care poate lua următoarele valori: bsClear – colorare solidă; bsOrizontale – linii orizontale; bsVertical – linii verticale; bsFDiagonal – linii diagonale stânga; bsBDiagonal – linii diagonale dreapta; bsCross – celulă; bsDiagCross – celulă oblică;

7 slide

Descriere slide:

Font – o proprietate pentru afișarea textului care are următoarele proprietăți imbricate: Culoare – culoarea caracterului; Înălțime – înălțimea fontului în pixeli; Nume – numele fontului; Dimensiune – dimensiunea fontului; Stil – stil de font, care poate lua următoarele valori: fsBold – bold; fsItalic – italic; fsUnderline – subliniat; fsStrikeOut – tăiat;

8 slide

Descriere slide:

PenPos (Pen Position) – o proprietate pentru stocarea poziției curente a desenului (definește poziția creionului în zona de desen în acest moment timp); Pixeli – o proprietate de matrice pentru scrierea și citirea coordonatelor punctelor individuale ale zonei de desen („pânză”).

Slide 9

Descriere slide:

Metode ale obiectului Canvas MoveTo(x,y: integer) – mută stiloul din poziția curentă într-un punct cu coordonatele x, y specificate fără a trasa o linie; LineTo(x.y: integer) - mută stiloul din poziția curentă într-un punct cu coordonatele date x, y, trasând o linie; Arc(x1, y1, x2, y2, x3, y3, x4, y4: întreg) – desenează arcul unei elipse înscrise într-un dreptunghi cu coordonatele (x1, y1) și (x2, y2). Arcul este determinat de razele elipsei care trece prin punctele (x3,y3) și (x4,y4);

10 diapozitive

Descriere slide:

Chord(x1, y1, x2, y2, x3, y3, x4, y4: integer) – desenează o coardă a unei elipse conform descrierii date pentru metoda Arc; Elipsa(x1, y1, x2, y2: întreg) – desenează o elipsă înscrisă într-un dreptunghi cu colțul din stânga sus în punctul (x1, y1) și colțul din dreapta jos în punctul (x2, y2); FillRect(Rect (x1, y1, x2, y2: integer)) – umple dreptunghiul cu culoarea specificată în Pensul curent. Utilizează funcția Rect, care reprezintă un dreptunghi la coordonatele date;

11 diapozitiv

Descriere slide:

FloodFill(x,y: integer; Culoare: TColor; FillStyle: TFillStyle) – umplere cu culoarea curentă specificată în proprietatea Brush: cu FillStyle=fsBorder – o zonă închisă de la punctul cu coordonatele x, y până la marginea definită de Culoare; cu FillStyle=fsSurface – acea porțiune a suprafeței care are culoarea Color; Pie(x1, y1, x2, y2, x3, y3, x4, y4: întreg) – desenează un sector al unei elipse înscris într-un dreptunghi cu coordonatele (x1, y1) și (x2, y2). Sectorul este definit de două raze de elipsă care trec prin punctele (x3, y3) și (x4, y4);

12 slide

Descriere slide:

Polyline (Points: array of TPoint) – desenează o polilinie, conectând secvenţial punctele matricei Points; Polygon (Points: array of TPoint) – desenează poligoane prin conectarea secvenţială a punctelor din tabloul Points. Diferă de metoda Polyline prin faptul că conectează automat sfârșitul poliliniei la începutul acesteia; Dreptunghi (x1, y1, x2, y2: întreg) – desenează un dreptunghi cu colțul din stânga sus în punctul (x1, y1) și colțul din dreapta jos în punctul (x2, y2);

Slide 13

Descriere slide:

Retresh – metoda este apelată atunci când este necesară redesenarea imaginii; RoundRect (x1, y1, x2, y2, x3, y3: întreg) – desenează un dreptunghi cu colțuri rotunjite. Colțurile sunt desenate ca sferturi de elipsă cu o lățime de x3 și o înălțime de y3; TextOut (x, y:integer, Text:String) – scoate textul specificat în parametrul Text. Textul se încadrează într-un dreptunghi al cărui colț din stânga sus are coordonatele x, y.




Top