Komponent for visning av grafisk informasjon i delphi. Presentasjon om emnet "Vise grafisk informasjon i Delphi." Liste over komponenter for visning av grafisk informasjon

LABORATORIEARBEID

EMNE: « Grafikk iDelphi– konstruksjon av de enkleste
geometriske former"

Kort informasjon fra teorien

Delphi gir utvikleren tre måter å vise grafikk på:

    plotting mens programmet kjører

    bruk av ferdiglaget grafikk

    lage bilder ved hjelp av grafiske komponenter

For å bygge grafer er det laget spesielle klasser som gir verktøy og metoder for tegning: verktøyene er beskrevet i tre klasser - Tfont, Tpen, Tbrush; Tegneområdet og metodene leveres av Tcanvas-klassen.

KlasseTfont– spesifiserer egenskapene til fonten som brukes til å vise tekst på lerretet. Egenskapene til klassen er beskrevet i avsnittet "Grunnleggende egenskaper tilgjengelig for de fleste komponenter."

KlasseTpen– spesifiserer egenskapene til pennen (blyanten) som linjer tegnes med.

Egenskaper klasse Tpen:

Farge:Tcolor – linjefarge (standard – svart)

Bredde:integer – linjetykkelse i piksler;

Stil = (psSolid, psDash, psDot, psdashDot, psClear) – definerer linjestilen (heltrukken, stiplet, stiplet, stiplet stiplet, usynlig)

KlasseTbørste– angir egenskapene til penselen som maler overflaten av bildet.

Egenskaper klasse Tbørste:

Farge:Tcolor – penselfarge (standard – hvit)

Stil– børstemønster, kan ta på seg følgende verdier:

BsSolid – solid farge

BsClear – mangel på skyggelegging

BsVertikal – vertikale linjer

BsBdiagonal – høyre diagonale linjer

BsDiagCross – skrå celle

BsHorisontal – horisontale linjer

BsFdiagonal – venstre diagonale linjer

BsCross – bur

KlasseTcanvas– bestemmer overflaten som det opprettede bildet plasseres på, og verktøyene som bildet lages med: font, blyant, pensel.

Som standard brukes hele klientområdet i skjemaet som arbeidsområde (lerret) (uten overskrift, hovedmeny og rullelinjer i skjemaet), men du kan tildele mindre arbeidsområder inne i skjemaet ved hjelp av komponenter PaintBox eller Bilde. Opprinnelsen til lerretskoordinaten er det øvre venstre hjørnet av arbeidsområdet, bredden på arbeidsområdet bestemmes av egenskapen ClientWidth, høyde – eiendom Klienthøyde.

Egenskaper klasse Tcanvas:

Lerret:Tcanvas – definerer tegneområdet

Børste:Tbørste – børste for å fylle lukkede former

Font:Tfont – font for visning av tekst på lerretet

Penn:Tpen – blyant (penn) for tegning

PenPos:Tpoint – gjeldende posisjon til den usynlige markøren på lerretet

Kommentar : Tpoint type – definert som følger:

Type Point = post

Piksler: Tcolor - setter fargene på lerretspikslene, X, Y - pikselkoordinater. Piksler-egenskapen er praktisk å bruke for å plotte grafer ved å bruke punkter i den valgte fargen.

Hovedmetodene i TCanvas-klassen

    fremgangsmåte Flytte til(x,y:heltall); - flytter pennen uten å tegne en linje til et punkt med koordinater (x, y).

    Fremgangsmåte LineTo(x,y:heltall); - trekker en linje fra gjeldende punkt til punktet med koordinater (x, y).

Eksempel : Tegn en diagonal blå linje på formen fra øverste venstre hjørne av figuren til nedre høyre hjørne.

Penn.farge:= clblue;

Flytt til(0,0); LineTo(ClientWidth, ClientHeight);

    fremgangsmåte Rektangel(xl,yl,x2,y2:heltall); - tegner et rektangel: x1,y1 - koordinatene til øvre venstre hjørne; x2, y2 er koordinatene til nedre høyre hjørne.

Eksempel : Tegn en gulfarget firkant med en side på 60 piksler i midten av formen.

var Xc,Yc: heltall; //

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.color:=clyellow;

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

    fremgangsmåte Ellipse(xl,yl,x2,y2:heltall); - tegner en ellipse innskrevet i et rektangel med de angitte koordinatene.

Eksempel : tegn en ellipse innskrevet i PaintBox-komponenten.

PaintBox1.Canvas.Pen.Width:=4; //linjebredde = 4 piksler

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

    fremgangsmåte Polygon(); - tegner en lukket polygon spesifisert av en rekke koordinater.

Eksempel : Tegn en fylt diamant som forbinder midtpunktene på sidene av formen

Var Xc,Yc:heltall; // koordinater til midten av skjemaets klientområde

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.Color:=Rgb(275,140,70); // oransje farge skyggelegging

Canvas.Polygon();

slutt;

    Fremgangsmåte Bue(x1,y1,x2,y2,x3,y3,x4,y4:heltall); - viser buen til en ellipse avgrenset av et rektangel (x1, y1, x2, y2). Buen vises fra et punkt med koordinater (x3,y3) til et punkt med koordinater (x4,y4) imot med urviseren.

Eksempel : Tegn en ellipsebue som forbinder midten av oversiden av komponenten
PaintBox med midten av høyre side.

Prosedyre Tform1.Button1Click(Sender:Tobject);

Var X3,y3,x4,y4: Heltall;

Med PaintBox1 gjør det

Canvas.Pen.Color:= clWhite;

Canvas.Pen.Width:= 3;

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

X3:= ClientWidth div 2;

X4:= ClientWidth;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

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

Slutt;

    fremgangsmåte Akkord(x1,y1,x2,y2,x3,y3,x4,y4:heltall); - tegner en akkord - en rett linje som forbinder 2 punkter på ellipsen: et punkt med koordinater (x3, y3) med et punkt (x4, y4).

Eksempel : Bytt ut Chord-metoden i eksemplet gitt med ARC-metoden og få følgende resultat.

    fremgangsmåte Pai(x1,y1,x2,y2,x3,y3,x4,y4:heltall); - tegner et ellipsesegment som forbinder midten av ellipsen med koordinater (x3,y3) og (x4,y4).

Eksempel : I eksemplet gitt for ARC-metoden, se for deg PIE-metoden og få dette resultatet.

    fremgangsmåte Tekst Ut(x,y:heltall;Tekst:streng); - sender ut strengen som sendes i tekstparameteren til et rektangel hvis øvre venstre hjørne er spesifisert x,y koordinater. Skriftegenskaper angis av fontverktøyet.

Eksempel : skriv navnet på den plottede grafen nederst i skjemaet.

Canvas.Font.Height:=20 ; //tegnhøyde 20 piksler

Canvas.Font.Color:=clblue;

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

Grafiske komponenter

Delphi tilbyr en rekke ferdige komponenter som lar deg forbedre brukergrensesnitt. Disse komponentene er plassert på siden Ytterligere Og System komponentpaletter.

KomponentBilde(KlasseTimage) – laget for å vise grafiske bilder lagret i eksterne filer med utvidelser:

    Ico(ikon, piktogram);

    Bmp (bitmap, bitmap);

    Wmf, .emf (metafil);

    Jpg, .jpeg (JPEG-komprimert bilde).

Grunnleggende egenskaper :

Auto størrelse:boolean – når satt til true, justerer komponenten dimensjonene til størrelsen på det innlastede bildet; standard er falsk.

Tøye ut:boolean – hvis den er sann, opptar den innlastede verdien hele området til komponenten; standard er falsk.

Lerret:Tcanvas – brukes til å tegne inne i komponenten under programkjøring.

Bilde:Tbilde - Definerer bildet plassert i komponenten.

Grunnleggende metoder klasse Tbilde:

Fremgangsmåte Last inn fra fil(Filnavn:streng); - laster et bilde fra en fil med navnet Filnavn inn i komponenten.

Fremgangsmåte SaveToFile(Filnavn:streng); -lagrer bildet fra komponenten til en fil som heter Filnavn.

KomponentPaintBox - definerer et rektangulært tegneområde. Hovedeiendommen er Lerret, alle metodene i Tcanvas-klassen er tilgjengelige, den har ingen uavhengige egenskaper.

Eksempel : Tegn en gul ellipse innskrevet i PaintBox1-komponenten.

Prosedyre Tform1Button1Click(sender:Tobject);

Med PaintBox1.Canvas gjør

Brush.Color:=clyellow;

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

slutt;

KomponentBitBtn rasterknapp

BitBtn-knappen, i motsetning til standarden, kan, i tillegg til tittelen (Caption), inneholde et bilde spesifisert av egenskapen Glyph. Det er et sett med standard BitBtn-knapper, med forhåndsdefinerte egenskaper (med et spesifikt bilde, inskripsjon og formål) - typen standardknapp velges gjennom egenskapen Snill. Kind=(bkCustom, bkAbort,bkCancel, bkClose …)

Oppgave nr. 1

Lag en applikasjon som inneholder to bildekomponenter og 4 knapper på hovedskjemaet ("Last bilde", "Bygg en geometrisk figur", "Endre farge", "Avslutt"), og lar deg:

a) last det brukervalgte grafiske bildet inn i Image1-komponenten slik at bildet opptar hele området til Image-komponenten.

b) under Image1-komponenten viser inskripsjonen "Dette er et bilde fra en fil.

(for enhver måling av størrelsen og plasseringen av komponentenBilde1 inskripsjon skal
ligger strengt under komponenten).

c) tegne en geometrisk figur inne i Image2-komponenten: et fylt ellipsesegment som forbinder midten av Image-komponenten med midten av bunnen og høyresiden av Image-komponenten.

(for enhver endring i størrelsen og plasseringen av komponentenBilde2 skal figuren være riktig konstruert, dvs. i henhold til spesifikasjonen for komponentenBilde2)

d) endre fargen på linjen til en figur tegnet i Image2 på brukerens forespørsel ved å bruke ColorDialog-komponenten.

Oppgave nr. 2

Lag et program som lar deg plassere flere etiketter tilfeldig (for eksempel ordet "Hurra!") i en bildekomponent. For å implementere dette, bruk Randomize random number generator og Random funksjonen.

Dimensjonene til bildekomponenten, ordet som vises i bildet og antall ord må angis av brukeren.

Oppgave nr. 3

Lag et program som lar deg velge navnet på en geometrisk form fra en ListBox og tegne den valgte formen i bildekomponenten. Fargen på formen velges fra RadioGroup-komponenten.

Oppgave nr. 4

Del PaintBox1-komponenten i 4 like deler, mal hver del i en annen farge, for eksempel: blå, gul, grønn, rød.

Ved siden av hvert hjørne av PaintBox1 skriver du koordinatene til det hjørnet (i forhold til opprinnelsen til skjemaet som PaintBox1-komponenten er plassert på).

Oppgave nr. 5

MED

velg typen form som skal tegnes fra Radiogroup1-komponenten, fyllfargen fra Radiogroup2-komponenten, og tegn den valgte formen i Image-komponenten.

Oppgave nr. 6

Lag et program som lar brukeren angi dimensjonene til PaintBox1-komponenten (i piksler).

Del PaintBox1-komponenten i 2 like deler, inni hver del tegner du en ellipse, fylt med fargen valgt av brukeren i ColorDialog.

Oppgave nr. 7

MED Lag en applikasjon som lar deg:

velg navnet på en geometrisk form fra ListBox og tegn den valgte formen i bildekomponenten. Formen skal fylles med fargen valgt av brukeren i ColorDialog-komponenten hvis Ja er valgt i RadioGroup-komponenten.

Oppgave nr. 8

Lag et program som lar brukeren angi dimensjonene til PaintBox1-komponenten (i piksler).

Del PaintBox1-komponenten i 4 like deler, inni hver del tegner du en annen geometrisk form (ellipse, rombe, trekant og rektangel). Fargen på hver form velges av brukeren i ColorGrid.

Oppgave nr. 9

velg navnet på den geometriske formen fra ListBox
former (ellipse, rombe, rektangel) og tegne
den valgte formen i bildekomponenten. plassering
figurer i bildekomponenten (I kvartal, II kvartal,

III eller IV kvartal) og fargen på figuren velges
fra RadioGroup-komponenter.

Oppgave nr. 10

Lag et program som lar brukeren angi dimensjonene til PaintBox1-komponenten (i piksler).

Sørg for at sidestørrelsen ikke kan være tekst, ikke kan være et negativt tall og ikke kan overskride den mindre skjemastørrelsen.

Del PaintBox1-komponenten i 4 like deler, inni hver del tegner en geometrisk form valgt av brukeren i Combobox (ellipse, rombe, trekant og rektangel). Fargen på figuren velges av brukeren i ColorBox.

Oppgave nr. 11

Lag en applikasjon som lar deg:

velg posisjonen til tegningen fra Radiogruppe-komponenten

i Bilde-komponenten i den høyre trekanten, sett
fargen på figurens skyggelegging eller konturfarge, avhengig av
aktiverer avmerkingsboksknapper. Velg farge via
ColorGrid-komponent.

Oppgave nr. 12

Lag et program som lar brukeren angi dimensjonene til PaintBox1-komponenten (i piksler).

Sørg for at sidestørrelsen ikke kan være tekst, ikke kan være et negativt tall og ikke kan overskride den mindre skjemastørrelsen.

Del PaintBox1-komponenten i 2 like deler, inne i en av delene tegner du en geometrisk form valgt av brukeren i Combobox (ellipse, rombe, trekant og rektangel). Fargen på figuren velges av brukeren i ColorBox.

Du kan for eksempel endre fargen på skjemaet som følger:

form1.Color:= ColorBox1.Colors;

Oppgave nr. 13

Lag en applikasjon som lar deg:

a) tegn en firkant i midten av formen (størrelsen på siden av firkanten legges inn av brukeren). Sørg for at sidestørrelsen ikke kan være tekst, ikke kan være et negativt tall og ikke kan overskride den mindre skjemastørrelsen.

b) del firkanten i en diagonal eller to, avhengig av inkluderingen av avkrysningsboksknappene, og mal hver resulterende trekant en annen farge. Valget av farge gjøres av brukeren.

Oppgave nr. 14

Lag et program som lar brukeren angi dimensjonene til PaintBox1-komponenten (i piksler).

Sørg for at sidestørrelsen ikke kan være tekst, ikke kan være et negativt tall og ikke kan overskride den mindre skjemastørrelsen.

Del PaintBox1-komponenten i 2 like deler, inni den ene delen tegne en rombe, og inne i den andre delen tegne en hvilken som helst trekant. Fargen på figuren velges av brukeren i ColorBox.

Du kan for eksempel endre fargen på skjemaet som følger:

form1.Color:= ColorBox1.Colors;

Oppgave nr. 15

Lag en applikasjon som lar deg:

a) angi dimensjonene til bildekomponenten horisontalt og vertikalt til å være det samme og lik tallet som er angitt av brukeren fra tastaturet;

(sørg for at sidestørrelsen ikke kan være tekst, ikke kan være et negativt tall og ikke kan overskride den mindre formstørrelsen)

b) del bildekomponenten i 4 like firkanter med to blå linjer;

c) inne i hver resulterende firkant, tegn en sirkel innskrevet i den (la brukeren velge fargen på sirklene gjennom fargevalgsdialogboksen).

Oppgave nr. 16

Lag et program som lar brukeren angi dimensjonene til PaintBox1-komponenten (i piksler).

Sørg for at sidestørrelsen ikke kan være tekst, ikke kan være et negativt tall og ikke kan overskride den mindre skjemastørrelsen.

Del PaintBox1-komponenten i 9 like deler og mal hvert resulterende sjakkbrettrektangel. Fyllfargen velges av brukeren i ColorBox.

Du kan for eksempel endre fargen på skjemaet som følger:

form1.Color:= ColorBox1.Colors;

Oppgave nr. 17

Plasser to bildekomponenter og fire knapper på skjemaet: Linjefarge, Fyllfarge, Ok og Avslutt; og Rediger-komponenten.

Når du klikker på OK-knappen, tegnes en firkant med side X i Bilde1, og en rettvinklet trekant med like ben, som hver har lengde X, tegnes i Bilde2.

Toppunktet til trekanten faller sammen med opprinnelsen til Image2. En av hjørnene på firkanten faller sammen med opprinnelsen til Image1.

OK-knappen blir bare tilgjengelig når du har valgt en linjefarge og en fyllfarge for å tegne formen.

X – velger tilfeldig ved hjelp av Tilfeldige funksjoner og Rediger-komponenten skal vise verdien av X.

Oppgave nr. 18

Lag et program som lar brukeren angi dimensjonene til PaintBox1-komponenten (i piksler).

Del PaintBox1-komponenten i 4 like deler; inne i den brukervalgte delen skal det bygges en fylt sirkel, hvis størrelse angis av brukeren. Brukeren velger fyllfargen i ColorBox.

Du kan for eksempel endre fargen på skjemaet som følger:

form1.Color:= ColorBox1.Colors;

For å vise grafisk informasjon, tilbyr Delphi-biblioteket komponenter, listen over disse er gitt i tabellen. 6.

Tabell 6

Komponenter for visning av grafisk informasjon

Komponent Side Beskrivelse
Bilde Ytterligere Brukes til å vise grafikk
PaintBox (vindu for tegning) System Brukes til å lage et område på skjemaet der du kan tegne
DrawGrid (tabell over tegninger) Ytterligere Brukes til å vise ikke-tekstdata i rader og kolonner
Diagram (diagrammer og grafer) Ytterligere Komponenten tilhører TeeChart-familien av komponenter, som brukes til å lage diagrammer og grafer
Chartfx (diagrammer og grafer) ActiveX Graf- og diagramredigerer
FIBook (Excel-sider) ActiveX Komponent for numerisk informasjonsinntasting og prosessering
VtChart (diagrammer) ActiveX Diagramvindu

I tillegg kan du vise og legge inn grafisk informasjon på overflaten til enhver vinduskomponent som har egenskapen Lerret- lerret.

Bildetabeller - DrawGrid- og StringGrid-komponenter

Komponent DrawGrid brukes til å lage en tabell i applikasjonen som kan inneholde grafiske bilder. Denne komponenten ligner på komponenten StringGrid siden sistnevnte er avledet fra DrawGrid. Derfor i DrawGrid alle egenskaper, metoder, hendelser til komponenten er tilstede StringGrid unntatt de som er relatert til teksten, dvs. unntatt eiendommer Celler, Koler, rader, objekter. Fra dette synspunktet, komponenten StringGrid har betydelig større kapasiteter enn DrawGrid siden den kan lagre både bilder og tekst i celler. Og hvis du vil skrive inn tekst i noen celler DrawGrid da må du bruke metoder for å vise tekst på en disposisjon for dette, noe som ikke er veldig praktisk.

Komponenter DrawGrid og StringGrid ha en disposisjon Lerret, som du kan legge ut bilder på.

Det finnes en metode Cell-Rect, som returnerer lerretsområdet som er tildelt for en gitt celle. Denne metoden er definert som

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

Hvor ACol og ARow- kolonne- og radindekser fra 0, i skjæringspunktet hvor cellen er plassert. Området som returneres av denne funksjonen er lerretsområdet der ønsket bilde kan tegnes. For eksempel operatøren

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

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

kopier metode CopyRect til celle (1,1) i tabellen DrawGridl bilde fra komponent BitMap. Denne cellen er andre fra venstre og andre fra toppen i tabellen, siden indeksene starter på 0. Vær oppmerksom på at hvis cellen er mindre enn størrelsen på det kopierte bildet, vil bare den øvre venstre delen av bildet vises i cellen.

Bilde på komponentlerretet DrawGrid og StringGrid, som på lerretet til en hvilken som helst komponent, kan det slettes når programvinduet overlappes av andre vinduer, eller for eksempel når programmet minimeres.

En praktisk måte å legge inn bilder i celler DrawGrid er å bruke en hendelsesbehandler OnDrawCell. Disse hendelsene oppstår for hver tabellcelle når den tegnes på nytt. Håndteringsoverskriften ser slik ut:

prosedyre TForml.DrawGridlDrawCell(Sender: TObject;

ACol, ARow: Heltall; Rect: TRect; Delstat: TGridDrawState)

Parameter Stat indikerer tilstanden til cellen. Det er et sett som kan inneholde følgende elementer: gdSelected- valgt celle, gdFokusert- cellen som er i fokus, gdFixed- en celle i et fast område av bordet. Parameter Stat kan brukes til å vise celler forskjellig i forskjellige tilstander.

Formkomponent

Formkomponent kan kun betinget klassifiseres som et middel for å vise grafisk informasjon, siden det ganske enkelt representerer forskjellige geometriske former, passende skyggelagt. Hovedegenskapen til denne komponenten er Form(form), som kan ha følgende verdier:

StRektangel – rektangel;

StSquare – kvadrat;

StRoundRect - rektangel med avrundede hjørner;

StRouhdSquare - firkantet med avrundede hjørner;

StEllipse – ellipse;

StCircle - sirkel.

En annen viktig egenskap ved komponenten er Børste(børste). Denne egenskapen er et objekt av typen TBrush, har en rekke underegenskaper, spesielt farge (Brush.Color) og stil (Brush.Style) fyller figuren. Du kan se fyllingen for noen stilverdier i fig. 3.2. Den tredje spesifikke egenskapen til komponenten Form- Penn(penn) som definerer linjestilen.

Diagramkomponent

La oss nå se på komponenten Diagram. Denne komponenten lar deg bygge ulike diagrammer og grafer som ser veldig imponerende ut. Komponent Diagram har mange egenskaper, metoder, hendelser, slik at hvis vi vurderte dem alle, ville vi måtte vie et helt kapittel til dette. Derfor vil vi begrense oss til å vurdere bare hovedegenskapene Diagram. Du kan finne resten i Delphis innebygde hjelp, eller bare prøve dem ut ved å eksperimentere med diagrammene.

Komponent Diagram er en beholder med gjenstander Serie- arvinger av klassen TChartSeries. Hvert slikt objekt representerer en serie data preget av en bestemt visningsstil: en bestemt graf eller diagram. Hver komponent Diagram kan omfatte flere episoder. Hvis du ønsker å vise en graf, vil hver serie tilsvare en kurve på grafen. Hvis du vil vise diagrammer, kan du for noen typer diagrammer legge flere forskjellige serier oppå hverandre, for andre (som kakediagrammer) vil det sannsynligvis se stygt ut. Men selv i dette tilfellet kan du stille inn for én komponent Diagram flere serier med identiske data med forskjellige typer diagrammer. Deretter, ved å gjøre en av dem aktiv hver gang, kan du gi brukeren et valg av typen diagram som viser dataene de er interessert i.

Plasser en eller to komponenter Diagram på skjemaet og se på egenskapene som åpnes i objektinspektøren. Her er noen forklaringer på noen av dem.

AllowPanning - bestemmer brukerens evne til å rulle den observerte delen av grafen under utførelse ved å trykke på høyre museknapp. Mulige verdier: pmIngen - rulling er forbudt, pmHori/ontal, pm Vertikal eller pmBegge - rulling er henholdsvis tillatt kun i horisontal retning, kun i vertikal retning, eller i begge retninger.

AhowZoom - lar brukeren endre bildezoom under kjøring ved å kutte ut fragmenter av et diagram eller graf med musepekeren. Hvis rammen til et fragment er tegnet til høyre og ned, strekkes dette fragmentet til å dekke hele feltet til grafen. Og hvis rammen er tegnet opp og til venstre, blir den opprinnelige skalaen gjenopprettet.

Tittel - definerer tittelen på diagrammet.

Fot - definerer bildeteksten under diagrammet. Ingen som standard. Signaturteksten bestemmes av underegenskapen Tekst.

Ramme - definerer rammen rundt diagrammet.

Ved siden av mange av de listede egenskapene i objektinspektøren er det knapper med ellipser som lar deg kalle opp en eller annen side i diagramredigereren - et flersidet vindu som lar deg angi alle egenskapene til diagrammene. Diagrameditoren kan også kalles opp ved å dobbeltklikke på komponenten Diagram eller ved å høyreklikke på den og velge Rediger diagram-kommandoen fra hurtigmenyen.

Dobbeltklikk på den øverste komponenten Diagram. Du vil bli tatt til diagramredigeringsvinduet på diagramsiden, som har flere faner. Først av alt vil du være interessert i Serier-fanen på den. Klikk på Legg til-knappen - legg til en serie. Du vil bli tatt til et vindu der du kan velge type diagram eller graf. I dette tilfellet velger du kake - et sektordiagram. Ved å bruke Titler-fanen kan du angi tittelen på diagrammet, Legend-fanen lar deg angi parametere for å vise diagramforklaringen (liste over symboler) eller fjerne den fra skjermen helt, Panel-fanen bestemmer utseendet til panelet på som diagrammet vises, gir 3D-fanen deg muligheten til å endre utseendet på diagrammet: tilt, shift, tykkelse osv.

Når du arbeider i diagramredigering og har valgt en diagramtype, vil komponentene Diagram Skjemaet ditt viser utseendet med de betingede dataene som er lagt inn i det. Derfor kan du umiddelbart se resultatet av å bruke ulike alternativer på applikasjonen din, noe som er veldig praktisk.

Seriesiden, som også har en rekke faner, gir deg muligheten til å velge flere visningsalternativer for serien. Spesielt for et sektordiagram, på Format-fanen, er det nyttig å aktivere alternativet Circled Pie, som vil sikre at diagrammet vises som en sirkel i alle størrelser av diagramkomponenten. På Merker-fanen bestemmer knappene i Stilgruppen hva som skal skrives på etikettene knyttet til individuelle segmenter av diagrammet: Verdi - verdi, Prosent - prosenter, Etikett - datanavn, etc.

Du kan, hvis du ønsker det, legge til en annen identisk serie til denne diagramkomponenten ved å klikke på Klon-knappen på Serier-fanen på diagramsiden, og deretter for denne ny serie Klikk på Endre-knappen og velg en annen diagramtype, for eksempel søyle.

Avslutt diagramredigering, velg den nederste diagramkomponenten i programmet og gjenta innstillingen av egenskapene ved hjelp av diagramredigering. I dette tilfellet må du spesifisere to serier hvis du vil vise to kurver på grafen, og velge Linjediagramtypen. Fordi det vi snakker om om grafer, kan du bruke Akse- og Vegger-fanene til å spesifisere koordinatkarakteristikkene til aksene og tredimensjonale kanter til grafen.

Det er det for design utseende søknaden avsluttes. Alt som gjenstår er å skrive koden som spesifiserer dataene du vil vise. For testapplikasjonen, la oss sette bare noen konstante data i kakediagrammet, og noen funksjoner i grafene.

For å angi de viste verdiene, må du bruke seriemetoder. La oss kun fokusere på tre hovedmetoder.

Metode Klar sletter en serie med tidligere innlagte data.

Metode Legg til:

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

lar deg legge til et nytt punkt i diagrammet. Parameter En verdi tilsvarer tilleggsverdien, parameter En merkelapp- en etikett som vises på diagrammet og i forklaringen, AColor- farge. Parameter En merkelapp- valgfritt, det kan settes tomt: ' '. Metode AddXY:

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

lar deg legge til et nytt punkt i funksjonsgrafen. Alternativer AXVerdi Og AYVerdi samsvarer med argument og funksjon. Alternativer ALabel og AColor det samme som i metoden Legg til.

Dermed kan prosedyren for å laste inn data i vårt eksempel se slik ut:

konst Al=155; A2=251; A3=203; A4=404; var i:ord; begynne

Med serien begynner

Add(Al,"Workshop l",clYellow);

Add(A2,"Workshop 2",clBlue);

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

Add(A4,"Workshop 4",clLilla); slutt;

Series2.Clear; SeriesS.Clear; for i:=0 til 100 begynner

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

SerieS.AddXY(0,02*Pi*i,cos(0,02*Pi*i) slutt;

ClRed); ,clBlå);

Operatører Klar er nødvendig hvis du skal oppdatere data mens applikasjonen kjører.

Dette avslutter vår introduksjon til komponenten Diagram. Det er sant at vi bare har vurdert en liten del av dens evner.


"Viser grafisk informasjon i Delphi" Emneoversikt: 1.C S pppp åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå mm ahhh tskst iiiiii iiiiii i 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 nnnn ooooo kkkk O O tttt ooooo bbbb a rrr g eeeeeeeeeeeee oooo 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 og d d d d a d iiiaaaaaaaa....


1. Metoder for å vise grafisk informasjon. I Delphi er det flere måter å vise grafisk informasjon på: Output of pre-prepared images (Image, Shape-komponenter); P Konstruksjon av grafer og diagrammer (diagramkomponent, etc.); F Dannelse av bilder programmatisk (Canvas-objekt).


2.Vis 2.Vis bilder. Visningen av bilder med bildekomponenten undersøkte vi i LLC DDDDD DDDD LLC Yiyy og og og ZZZZ P P P P PRRRDDDDDDDDDDDDDDD IIII XXXX T T T T T T T T T TOTEMMM .... Her skal vi vurdere et eksempel på implementeringen enkleste animasjonen ved med jevne mellomrom å endre det viste bildet i bildekomponentene. PPPP EDURRREEEE ÅÅÅ TTTT IIII n N N n AAAAAA PP PRRR IIII MMMMEEEE RRRRR ...






3.Visning 3.Visning av geometriske former. OG Fra flere Shape-komponenter kan du lage enkle tegninger. P Ved å programmatisk endre posisjonen (.Left,.Top), størrelse (.Width,.Height) og farge (Brush.Color) til Shape-komponentene i en tegning, kan du implementere elementer i den enkleste animasjonen. R R R R aaaa ssssssss mmmm ooooh tttt rrrrr eee tttt yee p p p p rrrrr iii mmmm eee rrrrr....


4.Konstruksjon 4.Konstruksjon av grafer og diagrammer. Diagrammer er designet for en mer visuell representasjon av numeriske datamatriser, deres visuelle visning og analyse. PPPP rrrrr iiii mmmm eee rrrrr.... For å lage diagrammer i Delphi er det flere komponenter, en av dem er Chart-komponenten (seksjon TeeChart Std).










Grafer og diagrammer. Dataene som skal vises sendes vanligvis til diagrammet programmatisk, for eksempel: Series1.Clear; (slett serie) for i:=1 til N do Series1.addxy(i, A[i], clGrønn); X-akse verdi Y-akse verdi X-akse etikett Datafarge på PP-diagrammet aaaa sssssssssss mmmm ååååååååååååååååååååååååå rrr 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))))


Neste: Laboratoriearbeid ““““ OOOO tttt åååå bbbb rrrrr aaaa zhzhzh eee nnnn iiii eee k k k k aaaa rrrrr tttt iiii nnnn åååå kkkk i i i i åååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååååå iiii åååå uuuu rrrrr, og og og xxxx a a a a a nnnn iiii mmmm aaaa tsstst iiii yayayaya """"...Oppgave: 1) Utvikle en applikasjon for å utføre enkel animasjon ved å periodisk endre det viste bildet i bildekomponentene. (Antall bilder er minst tre, velg bildene selv).




Videre: Laboratoriearbeid ““ ““ “PPP OOOO SSSS TTTTTT RRRR LLODNNNNNNNNNEIIEE IIEE Grrrr AAAAA FFF III KKKK OOO VVVV and IIIA AAAAA GGG RRRR AAAAA MMMMMM” ”” ”” "" "" "" "" " ..oppgave: M endre applikasjonen fra laboratoriearbeid 9 (Vis data i en tabell). Legg til muligheten til å vise noen data fra en tabell i et histogram eller et sektordiagram. 2) Konstruer en graf av den gitte funksjonen.

Visual Component Library (VCL) Delphi gir oss følgende visuelle komponenter for å vise grafisk informasjon: Bilde (bilde), PaintBox (vindu for tegning), DrawGrid (bildetabell), Chart (diagrammer og grafer), Animate (utdatavideoklipp). ), samt Form. Disse komponentene har en Canvas-egenskap (diskutert ovenfor) som gir tilgang til hver piksel. Selvfølgelig trenger du ikke tegne piksel for piksel for å jobbe med grafikk i Delphi; Delphi-systemet gir kraftige verktøy for å jobbe med grafikk.

La oss se nærmere på komponentene ovenfor:

Bildekomponent

Er et objekt av TImage-klassen. Brukes til å vise bilder lest fra grafikkfiler. Viser som standard bilder presentert i *.bmp-format på overflaten av skjemaet. For å sende ut bilder i jpg-format, må du inkludere JPEG-modulen i bruksdirektivet. Ligger i tilleggsfanen på komponentpaletten.

Etter å ha plassert bildekomponenten på skjemaet, tar den form av et valgt rektangulært område.

Figur 9 - Bildekomponent på skjemaet

For å åpne en dialogboks for å velge ønsket bilde, må du gjøre følgende ved å bruke objektinspektøren. For å gjøre dette, finn bildeegenskapen og klikk på de tre prikkene til venstre for den. Bilderedigeringsvinduet åpnes og velg Last i det; i vinduet som åpnes velger du bildefilen.

Dette kan også gjøres programmatisk ved å kalle LoadFromFile-metoden til Picture-egenskapen:

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

der name_pic.jpeg er filnavnet.

Tabell 8 - Grunnleggende egenskaper for bildekomponenten

Eiendom

Beskrivelse

Bildet vises i komponentfeltet

Komponentdimensjoner. Hvis disse dimensjonene er mindre enn illustrasjonsstørrelsen, og egenskapene Stretch, AutoSize og Proporsjonal er satt til False, vises en del av bildet

Lar deg skalere bilder automatisk uten forvrengning. For å utføre skalering må AutoSize-egenskapen settes til False

Lar deg automatisk skalere (krympe eller strekke) et bilde for å passe størrelsen på bildekomponenten. Hvis størrelsen på komponenten ikke er proporsjonal med størrelsen på bildet, vil bildet bli forvrengt

Lar deg endre størrelsen på en komponent automatisk slik at den passer til bildestørrelsen

Lar deg bestemme den horisontale posisjonen til bildet i feltet til bildekomponenten hvis bredden på bildet er mindre enn bredden på komponenten.

Overflate for visning av grafikk

Angir en gjennomsiktig bildebakgrunnsfarge

Eksempel 1: Skriv et program for å vise bilder ved hjelp av bildekomponenten. Programmet må ha følgende funksjoner:

  • · se bilder i mappen;
  • · se bildet i full størrelse eller i formatet som passer best for vindusstørrelsen;
  • · administrere bildefiler, samt skrive ut, lagre, slette og redigere bilder;
  • · om nødvendig, åpne bildet i et redigeringsprogram;

Figur 10 - Programvindu før det starter

Opprette et prosjekt:

  • 1. Opprett en mappe for programfilene og start Delphis integrerte utviklingsmiljø.
  • 2. Legg til komponenter i skjemaet:

Først vil vi plassere bildekomponenten på skjemaet, hovedkomponenten som vi må jobbe med. I tillegg til dette trenger vi følgende komponenter:

  • · ScrollBox Det er nødvendig når bildet er i full størrelsesmodus, går utover bildet. Vi tildeler verdien alClient til dens Aling-egenskap slik at dimensjonene endres proporsjonalt med størrelsen på vinduet. Og plasser Image-komponenten på den;
  • · Vi vil også legge til dialogkomponenter SavePictureDialog og OpenPictureDialog, designet for å lagre og åpne bilder. Vi trenger den første for å kopiere bildet til den valgte katalogen, den andre - for å ringe åpningsdialogen grafisk fil. De er plassert på dialogboksen på komponentpaletten. Fra denne siden trenger vi også PrintDialog-komponenten, som vi må kalle dialogen for å velge en skriver for utskrift.
  • · Legg til MainMenu for å legge til en hovedmeny til programmet og XPManifest for en mer fargerik design
  • · Vi må også lagre navnene på bildene som ligger i arbeidskatalogen et sted. ListBox-komponenten er praktisk for disse formålene; den kan skjules når du behandler Create-hendelsen til Form1.
  • · For å plassere navigasjonsknapper og enkelt jobbe med dem, vil vi legge til et Veil-panel, der vi plasserer disse knappene (Forrige bilde, Neste bilde, True size, Tilpass til størrelse, Slett, Kopier til, Skriv ut, Rediger). SpeedButton er valgt som en komponent for dem.
  • · Legg til en tidtaker for å fange tastetrykk "Venstre" (forrige bilde), "Høyre" (neste bilde) og "Del"-tasten (sletter bilde).
  • · Og en komponent til - ProgressBar, som viser prosessen med å laste inn store *.Jpg-filer.
  • 3. Skriv kode for å behandle knappen klikk-hendelsen (Forrige bilde, Neste bilde, Sann størrelse, Tilpass til størrelse, Slett, Kopier til, Skriv ut, Rediger). Skriv kode for å behandle hendelsen med å klikke på hovedmenyen menyelementer (Avslutt, Åpne, Lukk, Opprett).
  • 4. Angi de første innstillingene for å lage skjemaet. Dobbeltklikk på ledig plass skjema og skriv prosedyrekodeprosedyren TForm1.FormCreate(Sender:TObject), se modulkoden i vedlegg 1.
  • 5. Skriv prosedyrer av følgende type:

prosedyre FindFileInFolder(bane, ext: streng);

Denne prosedyren skanner banemappen for filer ved hjelp av ext-masken.

Den fullstendige listen over programmodulkoden finner du i vedlegg 1 (Programoversikt 3).

  • 1. List opp egenskapene til bildekomponenten.
  • 2. Hvilken klasse er bildekomponenten et objekt av?
  • 3. 3. Hvilken filtype støtter Image-komponenten som standard?
  • 4. 4. List opp hovedegenskapene til bildekomponenten.
  • 5. 5. Hvilken egenskap lagrer bildet av Image-komponenten?

Beskrivelse av presentasjonen ved individuelle lysbilder:

1 lysbilde

Lysbildebeskrivelse:

2 lysbilde

Lysbildebeskrivelse:

Visuelt miljø Delphi programmering, som Windows, støtter GUI bruker (GDI – Graphic Delphi Interface). I Delphi er det to måter å vise grafisk informasjon på: vise forhåndsforberedte bilder; tegning fra programmet.

3 lysbilde

Lysbildebeskrivelse:

Den første metoden er basert på bruk av bilde- og formkomponentene. Du kan bruke et ferdig bilde (ikon) eller lage dem selv ved hjelp av bilderedigering. Den andre måten er å generere bilder programmatisk ved å bruke Canvas-objektet.

4 lysbilde

Lysbildebeskrivelse:

Delphi har til rådighet spesiell gjenstand, som er stylet som en Canvas-eiendom. Den er kun tilgjengelig mens applikasjonen kjører, så den kan kun styres fra programmet ved å skrive nødvendig kode på Object Pascal-språket. Hvis et objekt har Canvas-egenskapen, kan du tegne på overflaten. De best egnede kandidatene for denne rollen er selve skjemaet og den spesielle PaintBox-komponenten.

5 lysbilde

Lysbildebeskrivelse:

Lerretsobjekt Egenskaper: Penn – egenskap for å tegne linjer og kanter av geometriske former. Pennen følger kommandoene til den grafiske markøren og har i sin tur sine egne nestede egenskaper: Farge – bestemmer fargen på linjen (svart som standard); Modus – tegnestil (har mange betydninger som ikke er gitt her); Stil – linjestil, som kan ha følgende verdier: рsSolid – solid (standard); рsDosh – stiplet; psDot – prikkete; рsDoshDot – stiplet linje (og andre egenskaper); Widh – linjetykkelse (standard 1 piksel);

6 lysbilde

Lysbildebeskrivelse:

Pensel – en egenskap for å fylle former med følgende nestede egenskaper: Farge – penselfarge (hvit som standard); Stil – børstemønster, som kan ha følgende verdier: bsClear – solid farge; bsHorisontal – horisontale linjer; bsVertikal – vertikale linjer; bsFDiagonal – venstre diagonale linjer; bsBDiagonal – høyre diagonale linjer; bsCross – celle; bsDiagCross – skrå celle;

7 lysbilde

Lysbildebeskrivelse:

Font – en egenskap for å vise tekst som har følgende nestede egenskaper: Farge – tegnfarge; Høyde – skrifthøyde i piksler; Navn – skriftnavn; Størrelse – skriftstørrelse; Stil – skriftstil, som kan ha følgende verdier: fsFet – fet; fsItalic – kursiv; fsUnderstrek – understreket; fsStrikeOut – krysset ut;

8 lysbilde

Lysbildebeskrivelse:

PenPos (Pen Position) – en egenskap for å lagre gjeldende tegneposisjon (definerer posisjonen til pennen i tegneområdet i dette øyeblikket tid); Piksler – en matriseegenskap for å skrive og lese koordinatene til individuelle punkter i tegneområdet ("lerret").

Lysbilde 9

Lysbildebeskrivelse:

Metoder for Canvas-objektet Flytt til(x,y: heltall) – flytter pennen fra gjeldende posisjon til et punkt med de angitte x, y-koordinatene uten å tegne en linje; LineTo(x.y: heltall) - flytter pennen fra gjeldende posisjon til et punkt med de gitte koordinatene x, y, tegner en linje; Arc(x1, y1, x2, y2, x3, y3, x4, y4: heltall) – tegner buen til en ellipse innskrevet i et rektangel med koordinater (x1, y1) og (x2, y2). Buen bestemmes av radiene til ellipsen som går gjennom punktene (x3,y3) og (x4,y4);

10 lysbilde

Lysbildebeskrivelse:

Akkord(x1, y1, x2, y2, x3, y3, x4, y4: heltall) – tegner en akkord av en ellipse i henhold til beskrivelsen gitt for Arc-metoden; Ellipse(x1, y1, x2, y2: heltall) – tegner en ellipse innskrevet i et rektangel med øvre venstre hjørne ved punktet (x1, y1) og nedre høyre hjørne ved punktet (x2, y2); FillRect(Rect (x1, y1, x2, y2: heltall)) – fyller rektangelet med fargen spesifisert i gjeldende pensel. Bruker Rect-funksjonen, som representerer et rektangel ved de gitte koordinatene;

11 lysbilde

Lysbildebeskrivelse:

FloodFill(x,y: heltall; Farge: TColor; FillStyle: TFillStyle) – fylling med gjeldende farge spesifisert i Brush-egenskapen: med FillStyle=fsBorder – et lukket område fra punktet med koordinatene x, y til kantlinjen definert av Farge; with FillStyle=fsSurface – den delen av overflaten som har fargefargen; Pie(x1, y1, x2, y2, x3, y3, x4, y4: heltall) – tegner en sektor av en ellipse innskrevet i et rektangel med koordinater (x1, y1) og (x2, y2). Sektoren er definert av to ellipseradier som går gjennom punktene (x3, y3) og (x4, y4);

12 lysbilde

Lysbildebeskrivelse:

Polyline (Points: array of TPoint) – tegner en polyline, og kobler sekvensielt sammen punktene til Points-arrayen; Polygon (Points: array of TPoint) – tegner polygoner ved å koble sammen punkter i Points-arrayen sekvensielt. Den skiller seg fra Polyline-metoden ved at den automatisk kobler slutten av polyline til begynnelsen; Rektangel (x1, y1, x2, y2: heltall) – tegner et rektangel med øvre venstre hjørne ved punktet (x1, y1) og nedre høyre hjørne ved punktet (x2, y2);

Lysbilde 13

Lysbildebeskrivelse:

Retresh – metoden kalles når det er nødvendig å tegne bildet på nytt; RoundRect (x1, y1, x2, y2, x3, y3: heltall) – tegner et rektangel med avrundede hjørner. Hjørnene er tegnet som firedeler av en ellipse med bredden x3 og høyden y3; TextOut (x, y:integer, Text:String) – gir ut teksten som er spesifisert i tekstparameteren. Teksten passer inn i et rektangel hvis øvre venstre hjørne har x, y-koordinater.




Topp