Τρόποι εμφάνισης γραφικών πληροφοριών στους delphi. Παρουσίαση με θέμα "Εμφάνιση γραφικών πληροφοριών στους Δελφούς"

διαφάνεια 2

"Εμφάνιση γραφικών πληροφοριών στους Δελφούς" Σχέδιο θέματος: Τρόποι εμφάνισης γραφικών πληροφοριών στους Δελφούς. Εμφάνιση εικόνων. Εμφάνιση γεωμετρικών σχημάτων. Κατασκευή γραφημάτων και διαγραμμάτων.

διαφάνεια 3

1. Μέθοδοι για την εμφάνιση γραφικών πληροφοριών. Υπάρχουν διάφοροι τρόποι εμφάνισης γραφικών πληροφοριών στους Δελφούς: Έξοδος προπαρασκευασμένων εικόνων (Εικόνα, Στοιχεία σχήματος). Κατασκευή γραφημάτων και διαγραμμάτων (συστατικό διάγραμμα κ.λπ.). Σχηματισμός εικόνων μέσω προγραμματισμού (αντικείμενο Canvas).

διαφάνεια 4

Εμφάνιση εικόνων. Η εμφάνιση εικόνων χρησιμοποιώντας το στοιχείο Image συζητήθηκε σε ένα από τα προηγούμενα θέματα. Εδώ θα εξετάσουμε ένα παράδειγμα υλοποίησης της απλούστερης κινούμενης εικόνας αλλάζοντας περιοδικά την εμφανιζόμενη εικόνα στα στοιχεία της εικόνας. Πηγαίνετε στο παράδειγμα.

διαφάνεια 5

Εμφάνιση γεωμετρικών σχημάτων. Η εμφάνιση των απλούστερων γεωμετρικών σχημάτων στη φόρμα παρέχεται από το στοιχείο Shape.

διαφάνεια 6

Εμφάνιση γεωμετρικών σχημάτων. Οι κύριες ιδιότητες του στοιχείου Shape:

Διαφάνεια 7

Εμφάνιση γεωμετρικών σχημάτων. Μπορείτε να δημιουργήσετε απλά σχέδια από διάφορα στοιχεία Shape. Αλλάζοντας προγραμματικά τη θέση (.Left, .Top), το μέγεθος (.Width, .Height) και το χρώμα (Brush.Color) των στοιχείων Shape στο σχέδιο, μπορείτε να εφαρμόσετε στοιχεία της απλούστερης κίνησης. Εξετάστε ένα παράδειγμα.

Διαφάνεια 8

Κατασκευή γραφημάτων και διαγραμμάτων. Τα διαγράμματα προορίζονται για μια πιο οπτική αναπαράσταση συστοιχιών αριθμητικών δεδομένων, οπτική εμφάνιση και ανάλυσή τους. Παράδειγμα. Για τη δημιουργία γραφημάτων στους Δελφούς, υπάρχουν πολλά στοιχεία, ένα από αυτά είναι το στοιχείο Chart (ενότητα TeeChart Std).

Διαφάνεια 9

Κατασκευή γραφημάτων και διαγραμμάτων. Προβολή του στοιχείου γραφήματος μετά την εγκατάστασή του στη φόρμα:

Διαφάνεια 10

Κατασκευή γραφημάτων και διαγραμμάτων. Εκτός από το "Object Inspector", μπορείτε να αποκτήσετε πρόσβαση στις ιδιότητες του στοιχείου Chart ανοίγοντας ένα ειδικό πλαίσιο διαλόγου (δεξί κουμπί στο στοιχείο \ Επεξεργασία γραφήματος ...) Προσθήκη μιας σειράς δεδομένων Αλλαγή του τύπου γραφήματος

διαφάνεια 11

Κατασκευή γραφημάτων και διαγραμμάτων. Επιλογή τύπου γραφήματος:

διαφάνεια 12

Κατασκευή γραφημάτων και διαγραμμάτων. Ρύθμιση ιδιοτήτων για άξονες συντεταγμένων (Άξονας):

διαφάνεια 13

Κατασκευή γραφημάτων και διαγραμμάτων. Τα δεδομένα που εμφανίζονται συνήθως μεταβιβάζονται στο γράφημα μέσω προγραμματισμού, για παράδειγμα: Series1.Clear; (διαγραφή σειράς) για i:=1 έως N do Series1.addxy(i, A[i], ‘’, clGreen); Τιμή στον άξονα Χ Τιμή στον άξονα Υ Ετικέτα στον άξονα Χ Χρώμα δεδομένων στο γράφημα Εξετάστε ένα παράδειγμα σχεδίασης της συνάρτησης y = Sin(x)

Διαφάνεια 14

Επόμενο: Εργαστήριο #13.1. "Προβολή εικόνων και γεωμετρικών σχημάτων, κινούμενη εικόνα τους." Εργασία: 1) Αναπτύξτε μια εφαρμογή για την υλοποίηση του απλούστερου animation αλλάζοντας περιοδικά την εμφανιζόμενη εικόνα στα στοιχεία της εικόνας. (Ο αριθμός των εικόνων είναι τουλάχιστον τρεις, επιλέξτε τις φωτογραφίες μόνοι σας).

διαφάνεια 15

Εργασία: 2) Επινοήστε και σχεδιάστε μια εικόνα από τα στοιχεία Shape. Αλλάζοντας προγραμματικά τη θέση, το μέγεθος ή το χρώμα των στοιχείων Shape στο σχέδιο, εφαρμόστε στοιχεία της απλούστερης κινούμενης εικόνας.

διαφάνεια 16

Επόμενο: Εργαστήριο #12.2. «Δομικά Γραφήματα και Διαγράμματα». Εργασία: Τροποποίηση της εφαρμογής από το εργαστήριο 9 (Εμφάνιση δεδομένων σε πίνακα). Προσθέστε τη δυνατότητα εμφάνισης ορισμένων δεδομένων από τον πίνακα σε ένα γράφημα ράβδων ή πίτας. 2) Κατασκευάστε μια γραφική παράσταση μιας δεδομένης συνάρτησης.

Προβολή όλων των διαφανειών

Περιγραφή της παρουσίασης σε μεμονωμένες διαφάνειες:

1 διαφάνεια

Περιγραφή της διαφάνειας:

2 διαφάνεια

Περιγραφή της διαφάνειας:

Το περιβάλλον οπτικού προγραμματισμού Delphi, όπως και τα Windows, υποστηρίζει μια γραφική διεπαφή χρήστη (GDI - Graphic Delphi Interface). Υπάρχουν δύο τρόποι εμφάνισης γραφικών πληροφοριών στους Δελφούς: έξοδος προπαρασκευασμένων εικόνων. αντλώντας από το πρόγραμμα.

3 διαφάνεια

Περιγραφή της διαφάνειας:

Η πρώτη μέθοδος βασίζεται στη χρήση των στοιχείων Image και Shape. Μπορείτε να χρησιμοποιήσετε μια έτοιμη εικόνα (εικονόγραμμα) ή να τη δημιουργήσετε μόνοι σας χρησιμοποιώντας το Image Editor. Ο δεύτερος τρόπος είναι να δημιουργήσετε εικόνες μέσω προγραμματισμού χρησιμοποιώντας το αντικείμενο Canvas.

4 διαφάνεια

Περιγραφή της διαφάνειας:

Το Delphi έχει στη διάθεσή του ένα ειδικό αντικείμενο, το οποίο είναι μορφοποιημένο ως ιδιοκτησία Canvas. Είναι διαθέσιμο μόνο όταν εκτελείται η εφαρμογή, επομένως μπορεί να ελεγχθεί μόνο από το πρόγραμμα γράφοντας τον απαραίτητο κώδικα στη γλώσσα Object Pascal. Εάν ένα αντικείμενο έχει μια ιδιότητα Canvas, μπορείτε να σχεδιάσετε στην επιφάνειά του. Οι πιο κατάλληλοι υποψήφιοι για αυτόν τον ρόλο είναι η ίδια η φόρμα και το ειδικό στοιχείο PaintBox.

5 διαφάνεια

Περιγραφή της διαφάνειας:

Ιδιότητες αντικειμένου καμβά: Στυλό (Φτερό) - ιδιότητα σχεδίασης γραμμών και περιγραμμάτων γεωμετρικών σχημάτων. Το στυλό ακολουθεί τις εντολές του δρομέα γραφικών και, με τη σειρά του, έχει τις δικές του ένθετες ιδιότητες: Χρώμα - ορίζει το χρώμα της γραμμής (μαύρο από προεπιλογή). Λειτουργία - στυλ σχεδίασης (έχει πολλές τιμές που δεν δίνονται εδώ). Στυλ – στυλ γραμμής, το οποίο μπορεί να λάβει τις ακόλουθες τιμές: psSolid – στερεό (από προεπιλογή). psDosh - διακεκομμένη γραμμή. psDot - διακεκομμένη γραμμή. psDoshDot - διακεκομμένη παύλα (και άλλες ιδιότητες). Πλάτος - πάχος γραμμής (προεπιλογή 1 pixel).

6 διαφάνεια

Περιγραφή της διαφάνειας:

Brush (Brush) - μια ιδιότητα για τη πλήρωση σχημάτων που έχουν τις ακόλουθες ένθετες ιδιότητες: Χρώμα - χρώμα πινέλου (προεπιλογή - λευκό). Στυλ - στολίδι με πινέλο, το οποίο μπορεί να λάβει τις ακόλουθες τιμές: bsClear - συμπαγής χρωματισμός. bsΟριζόντιες - οριζόντιες γραμμές. bsΚάθετες - κάθετες γραμμές. bsFDiagonal - αριστερές διαγώνιες γραμμές. bsBDiagonal - δεξιές διαγώνιες γραμμές. bsCross - κελί; bsDiagCross - λοξό κελί.

7 διαφάνεια

Περιγραφή της διαφάνειας:

Γραμματοσειρά (Font) - μια ιδιότητα για την εμφάνιση κειμένου, η οποία έχει τις ακόλουθες ένθετες ιδιότητες: Χρώμα - το χρώμα των χαρακτήρων. Ύψος - ύψος γραμματοσειράς σε pixel. Όνομα – όνομα γραμματοσειράς. Μέγεθος - μέγεθος γραμματοσειράς. Στυλ - στυλ γραμματοσειράς, το οποίο μπορεί να λάβει τις ακόλουθες τιμές: fsBold - bold; fsItalic - πλάγιο fsΥπογράμμιση - υπογραμμισμένο fsStrikeOut - διαγραμμένο;

8 διαφάνεια

Περιγραφή της διαφάνειας:

PenPos (Θέση στυλό) - μια ιδιότητα για την αποθήκευση της τρέχουσας θέσης σχεδίασης (καθορίζει τη θέση του στυλό στην περιοχή σχεδίασης σε μια δεδομένη στιγμή). Pixels - ιδιότητα πίνακα για εγγραφή και ανάγνωση των συντεταγμένων μεμονωμένων σημείων της περιοχής σχεδίασης ("καμβάς").

9 διαφάνεια

Περιγραφή της διαφάνειας:

Μέθοδοι του αντικειμένου Canvas MoveTo(x,y: ακέραιος) – μετακινεί το στυλό από την τρέχουσα θέση στο σημείο με τις δεδομένες συντεταγμένες x, y χωρίς να χαράξει γραμμή. LineTo(х.у: ακέραιος) - μετακινεί το στυλό από την τρέχουσα θέση στο σημείο με τις δεδομένες συντεταγμένες x, y, σχεδιάζοντας μια γραμμή. Arc(x1, y1, x2, y2, x3, y3, x4, y4: ακέραιος) - σχεδιάζει ένα τόξο έλλειψης εγγεγραμμένο σε ένα ορθογώνιο με συντεταγμένες (x1, y1) και (x2, y2). Το τόξο καθορίζεται από τις ακτίνες της έλλειψης που διέρχεται από τα σημεία (x3, y3) και (x4, y4).

10 διαφάνεια

Περιγραφή της διαφάνειας:

Χορδή (x1, y1, x2, y2, x3, y3, x4, y4: ακέραιος αριθμός) – σχεδιάζει μια συγχορδία έλλειψης όπως περιγράφεται για τη μέθοδο Arc. Έλειψη(x1, y1, x2, y2: ακέραιος) - σχεδιάζει μια έλλειψη εγγεγραμμένη σε ένα ορθογώνιο με την επάνω αριστερή γωνία στο σημείο (x1, y1) και την κάτω δεξιά γωνία στο σημείο (x2, y2). FillRect (Rect (x1, y1, x2, y2: ακέραιος)) - γεμίζει το ορθογώνιο με το χρώμα που καθορίζεται στο τρέχον πινέλο (Βούρτσα). Χρησιμοποιεί τη συνάρτηση Rect, η οποία αντιπροσωπεύει ένα ορθογώνιο στις δεδομένες συντεταγμένες.

11 διαφάνεια

Περιγραφή της διαφάνειας:

FloodFill(x,y: ακέραιος; Χρώμα: TColor; FillStyle: TFillStyle) - γέμισμα με το τρέχον χρώμα που καθορίζεται στην ιδιότητα Brush: με FillStyle=fsBorder - μια κλειστή περιοχή από το σημείο με συντεταγμένες x, y μέχρι το περίγραμμα που ορίζεται από το Χρώμα χρώματος; με FillStyle=fsSurface – η περιοχή της επιφάνειας που έχει το χρώμα Χρώμα. Πίτα (x1, y1, x2, y2, x3, y3, x4, y4: ακέραιος) - σχεδιάζει έναν τομέα μιας έλλειψης εγγεγραμμένο σε ένα ορθογώνιο με συντεταγμένες (x1, y1) και (x2, y2). Ο τομέας ορίζεται από δύο ακτίνες έλλειψης που διέρχονται από τα σημεία (x3, y3) και (x4, y4).

12 διαφάνεια

Περιγραφή της διαφάνειας:

Polyline (Points: array of TPoint) – σχεδιάζει μια πολύγραμμη συνδέοντας διαδοχικά τα σημεία του πίνακα Points. Πολύγωνο (Points: πίνακας TPoint) - σχεδιάζει πολύγωνα συνδέοντας διαδοχικά τα σημεία του πίνακα Points. Διαφέρει από τη μέθοδο Polyline στο ότι συνδέει αυτόματα το τέλος της πολυγραμμής με την αρχή της. Ορθογώνιο (x1, y1, x2, y2: ακέραιος) - σχεδιάζει ένα ορθογώνιο με την επάνω αριστερή γωνία στο σημείο (x1, y1) και την κάτω δεξιά γωνία στο σημείο (x2, y2).

13 διαφάνεια

Περιγραφή της διαφάνειας:

Retresh – η μέθοδος καλείται όταν η εικόνα πρέπει να σχεδιαστεί ξανά. RoundRect (x1, y1, x2, y2, x3, y3: ακέραιος) - Σχεδιάζει ένα ορθογώνιο με στρογγυλεμένες γωνίες. Οι γωνίες σχεδιάζονται ως τέταρτα μιας έλλειψης με x3 πλάτος και y3 ύψος. TextOut (x, y:ακέραιος, Text:String) - εξάγετε το κείμενο που καθορίζεται στην παράμετρο Text. Το κείμενο χωράει σε ένα ορθογώνιο του οποίου η επάνω αριστερή γωνία έχει συντεταγμένες x, y.

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΕΡΓΑΣΙΕΣ

ΘΕΜΑ: « Γραφικά σεΔελφοί- κατασκευή του απλούστερου
γεωμετρικά σχήματα"

Σύντομες πληροφορίες από τη θεωρία

Η Delphi παρέχει στον προγραμματιστή τρεις τρόπους εμφάνισης γραφικών:

    σχεδίαση ενώ εκτελείται το πρόγραμμα

    χρήση προ-δημιουργημένων γραφικών

    δημιουργία εικόνων με χρήση γραφικών στοιχείων

Για σχεδίαση, έχουν δημιουργηθεί ειδικές κλάσεις που παρέχουν εργαλεία και μεθόδους σχεδίασης: τα εργαλεία περιγράφονται σε τρεις κατηγορίες - Tfont, Tpen, Tbrush. η περιοχή σχεδίασης και οι μέθοδοι παρέχονται από την κλάση Tcanvas.

ΤάξηTfont- ορίζει τα χαρακτηριστικά της γραμματοσειράς που χρησιμοποιείται για την εμφάνιση του κειμένου στον καμβά. Οι ιδιότητες της κλάσης περιγράφονται στην ενότητα "Βασικές ιδιότητες διαθέσιμες για τα περισσότερα στοιχεία".

Τάξηtpen– ορίζει τα χαρακτηριστικά του στυλό (μολύβι) με το οποίο σχεδιάζονται οι γραμμές.

Ιδιότητεςτάξη tpen:

χρώμα:Tcolor - χρώμα γραμμής (μαύρο από προεπιλογή)

Πλάτος:integer – πάχος γραμμής σε pixel;

στυλ = (psSolid, psDash, psDot, psdashDot, psClear) - ορίζει το στυλ γραμμής (συμπαγής, διακεκομμένη, διακεκομμένη, παύλα-κουκκίδα, αόρατο)

ΤάξηTbrush– ορίζει τα χαρακτηριστικά του πινέλου που χρησιμοποιείται για τη ζωγραφική πάνω από τις επιφάνειες της εικόνας.

Ιδιότητεςτάξη Tbrush:

χρώμα: Tcolor - χρώμα πινέλου (η προεπιλογή είναι λευκό)

στυλ- στολίδι βούρτσας, μπορεί να πάρει τις ακόλουθες τιμές:

BsΣτερεό - συμπαγής χρωματισμός

BsClear - χωρίς γέμισμα

BsΚάθετες - κάθετες γραμμές

BsBdiagonal - δεξιές διαγώνιες γραμμές

BsDiagCross - λοξό κελί

BsΟριζόντιες - οριζόντιες γραμμές

BsFdiagonal - αριστερές διαγώνιες γραμμές

BsCross - κελί

Τάξηυφάσματα- ορίζει την επιφάνεια στην οποία τοποθετείται η δημιουργημένη εικόνα και τα εργαλεία με τα οποία δημιουργείται η εικόνα: γραμματοσειρά, μολύβι, πινέλο.

Από προεπιλογή, ολόκληρη η περιοχή πελάτη της φόρμας χρησιμοποιείται ως περιοχή εργασίας (καμβάς, "καμβάς") (χωρίς τον τίτλο, το κύριο μενού και τις γραμμές κύλισης της φόρμας), αλλά μπορείτε να διαθέσετε μικρότερες περιοχές εργασίας μέσα στη φόρμα χρησιμοποιώντας εξαρτήματα κουτί βαφήςή Εικόνα. Η προέλευση του καμβά είναι η επάνω αριστερή γωνία της περιοχής εργασίας, το πλάτος της περιοχής εργασίας καθορίζεται από την ιδιότητα Πλάτος πελάτη, ύψος - ιδιοκτησία Ύψος πελάτη.

Ιδιότητεςτάξη υφάσματα:

Καμβάς:Tcanvas - ορίζει την περιοχή σχεδίασης

Βούρτσα:Πινέλο - πινέλο για βάψιμο κλειστών σχημάτων

Γραμματοσειρά:Tfont - γραμματοσειρά για την εμφάνιση κειμένου στον καμβά

στυλό:Tpen - μολύβι (στυλό) για σχέδιο

PenPos:Tpoint - η τρέχουσα θέση του αόρατου δρομέα στον καμβά

Σχόλιο : Τύπος Tpoint - ορίζεται ως εξής:

Πληκτρολογήστε Tpoint = εγγραφή

Pixel: Tcolor - ορίζει τα χρώματα των pixel του καμβά, X, Y - συντεταγμένες pixel. Η ιδιότητα Pixels είναι χρήσιμη για τη δημιουργία γραφημάτων χρησιμοποιώντας σημεία του επιλεγμένου χρώματος.

Βασικές μέθοδοι της κλάσης TCanvas

    διαδικασία Μετακομίζω κάπου(x,y:ακέραιος); - μετακινεί το στυλό χωρίς να χαράξει γραμμή σε σημείο με συντεταγμένες (x, y).

    διαδικασία LineTo(x,y:ακέραιος); - σχεδιάζει μια ευθεία από το τρέχον σημείο στο σημείο με συντεταγμένες (x, y).

Παράδειγμα : Σχεδιάστε μια μπλε διαγώνια γραμμή στο σχήμα από την επάνω αριστερή γωνία του σχήματος μέχρι την κάτω δεξιά γωνία.

Pen.color:= cblue;

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

    διαδικασία Ορθογώνιο παραλληλόγραμμο(x1,y1,x2,y2:ακέραιος); - σχεδιάζει ένα ορθογώνιο: x1, y1 - συντεταγμένες της επάνω αριστερής γωνίας. x2, y2 - συντεταγμένες της κάτω δεξιάς γωνίας.

Παράδειγμα : Σχεδιάστε ένα τετράγωνο με κίτρινο χρώμα 60 px στη μέση του σχήματος.

var Xc,Yc: ακέραιος; //

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.color:=clyellow;

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

    διαδικασία Ελλειψη(x1,y1,x2,y2:ακέραιος); - σχεδιάζει μια έλλειψη εγγεγραμμένη σε ορθογώνιο με τις καθορισμένες συντεταγμένες.

Παράδειγμα : σχεδιάστε μια έλλειψη που είναι εγγεγραμμένη στο στοιχείο PaintBox.

PaintBox1.Canvas.Pen.Width:=4; //πλάτος γραμμής = 4 pixel

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

    διαδικασία Πολύγωνο() - σχεδιάζει ένα κλειστό πολύγωνο, που δίνεται από έναν πίνακα συντεταγμένων.

Παράδειγμα : σχεδιάστε έναν γεμάτο ρόμβο που συνδέει τα μεσαία σημεία των πλευρών του σχήματος

Var Xc,Yc:ακέραιος; // σχηματίζουν συντεταγμένες κέντρου περιοχής πελατών

Xc:=ClientWidth div 2;

Xy:=ClientHeight div 2;

Canvas.Brush.Color:=Rgb(275,140,70); // Πορτοκάλι χρώμα σκίαση

Canvas.Polygon();

τέλος;

    διαδικασία Τόξο(x1,y1,x2,y2,x3,y3,x4,y4:ακέραιος); - εμφανίζει ένα τόξο έλλειψης που οριοθετείται από ένα ορθογώνιο (x1, y1, x2, y2). Το τόξο εμφανίζεται από ένα σημείο με συντεταγμένες (x3,y3) σε ένα σημείο με συντεταγμένες (x4,y4) κατάωροδείκτης.

Παράδειγμα : σχεδιάστε ένα τόξο έλλειψης που συνδέει τη μέση της επάνω πλευράς του εξαρτήματος
PaintBox με τη μέση της δεξιάς πλευράς.

Διαδικασία Tform1.Button1Click(Sender:Tobject);

Var X3,y3,x4,y4: Ακέραιος αριθμός;

Με το PaintBox1 κάντε

Canvas.Pen.Color:= clΛευκό;

Canvas.Pen.Width:= 3;

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

X3:= ClientWidth div 2;

X4:=Πλάτος πελάτη;

Y4:= ClientHeight div 2;

Canvas.Pen.Color:= clMaroon;

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

τέλος;

    διαδικασία Χορδή(x1,y1,x2,y2,x3,y3,x4,y4:ακέραιος); - σχεδιάζει μια χορδή - μια ευθεία γραμμή που συνδέει 2 σημεία της έλλειψης: ένα σημείο με συντεταγμένες (x3, y3) με ένα σημείο (x4, y4).

Παράδειγμα : αντικαταστήστε στο παράδειγμα τη μέθοδο ARC, τη μέθοδο Chord και λάβετε αυτό το αποτέλεσμα.

    διαδικασία Πίτα(x1,y1,x2,y2,x3,y3,x4,y4:ακέραιος); - σχεδιάζει ένα τμήμα έλλειψης που συνδέει το κέντρο της έλλειψης με τις συντεταγμένες (x3,y3) και (x4,y4).

Παράδειγμα : παρουσιαστεί στο παράδειγμα που δίνεται για τη μέθοδο ARC, τη μέθοδο PIE και λάβετε αυτό το αποτέλεσμα.

    διαδικασία κείμενο(x,y:ακέραιος;Κείμενο:string); - εμφανίζει τη συμβολοσειρά που μεταβιβάστηκε στην παράμετρο Κείμενο σε ένα ορθογώνιο, η επάνω αριστερή γωνία του οποίου καθορίζεται από συντεταγμένες x,y. Τα χαρακτηριστικά γραμματοσειράς ορίζονται από το εργαλείο γραμματοσειράς.

Παράδειγμα : γράψτε το όνομα του γραφήματος που κατασκευάστηκε στο κάτω μέρος της φόρμας.

Καμβάς.Γραμματοσειρά.Ύψος:=20 ; // ύψος χαρακτήρων 20 pixel

Canvas.Font.Color:=club;

Canvas.TextOut(10, ClientHeight-24, 'Γράφημα συνάρτησης SIN(X)');

Γραφικά στοιχεία

Η Delphi προσφέρει μια σειρά από out-of-the-box στοιχεία για τη βελτίωση της διεπαφής χρήστη. Αυτά τα στοιχεία τοποθετούνται στη σελίδα Πρόσθετοςκαι Σύστημαπαλέτα συστατικών.

ΣυστατικόΕικόνα(Τάξηχρόνος) – σχεδιασμένο για να εμφανίζει γραφικές εικόνες που είναι αποθηκευμένες σε εξωτερικά αρχεία με επεκτάσεις:

    Εικονίδιο (εικονίδιο, εικονόγραμμα);

    bmp (bitmap, bitmap);

    Wmf, .emf (metafile);

    Jpg, .jpeg (συμπιεσμένη εικόνα JPEG).

Κύριος ιδιότητες :

αυτόματο μέγεθος:boolean - εάν αληθεύει, το στοιχείο προσαρμόζει το μέγεθός του στο μέγεθος της φορτωμένης εικόνας. ψευδής από προεπιλογή.

Τέντωμα:boolean - εάν αληθεύει, η φορτωμένη τιμή καταλαμβάνει ολόκληρη την περιοχή του στοιχείου. η προεπιλογή είναι ψευδής.

Καμβάς:Tcanvas - Χρησιμοποιείται για τη σχεδίαση στο εσωτερικό του στοιχείου κατά το χρόνο εκτέλεσης.

εικόνα:Tpicture - Καθορίζει την εικόνα που τοποθετείται στο στοιχείο.

Κύριος μεθόδουςτάξη εικόνα:

διαδικασία LoadFromFile(όνομα αρχείου:string); - φορτώνει μια εικόνα στο στοιχείο από ένα αρχείο που ονομάζεται Όνομα αρχείου.

διαδικασία SaveToFile(όνομα αρχείου:string); -αποθηκεύει την εικόνα από το στοιχείο σε ένα αρχείο με το όνομα Filename.

Συστατικόκουτί βαφής - ορίζει μια ορθογώνια περιοχή προς σχεδίαση. Το κύριο ακίνητο είναι Καμβάς, όλες οι μέθοδοι της κλάσης Tcanvas είναι διαθέσιμες, δεν έχει ανεξάρτητες ιδιότητες.

Παράδειγμα : σχεδιάστε μια κίτρινη έλλειψη εγγεγραμμένη στο στοιχείο PaintBox1.

Διαδικασία Tform1Button1Click(sender:Tobject);

Με το PaintBox1.Canvas do

Βούρτσα.Χρώμα:=κίτρινο;

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

τέλος;

ΣυστατικόBitBtnκουμπί bitmap

Το κουμπί BitBtn, σε αντίθεση με το τυπικό, μπορεί να περιέχει, εκτός από το όνομα (Λεζάντα), μια εικόνα που καθορίζεται από την ιδιότητα Γλύφος. Υπάρχει ένα σύνολο τυπικών κουμπιών BitBtn, με προκαθορισμένες ιδιότητες (με συγκεκριμένη εικόνα, λεζάντα και σκοπό) - ο τύπος του τυπικού κουμπιού επιλέγεται μέσω της ιδιότητας είδος. Kind=(bkCustom, bkAbort,bkCancel, bkClose...)

Εργασία αριθμός 1

Δημιουργήστε μια εφαρμογή που περιέχει δύο στοιχεία εικόνας και 4 κουμπιά στην κύρια φόρμα ("Μεταφόρτωση εικόνας", "Δημιουργία γεωμετρικού σχήματος", "Αλλαγή χρώματος", "Έξοδος") και σας επιτρέπει:

α) φορτώστε στο στοιχείο Image1 μια γραφική εικόνα που έχει επιλεγεί από τον χρήστη με τέτοιο τρόπο ώστε η εικόνα να καταλαμβάνει ολόκληρη την περιοχή του στοιχείου Image.

β) κάτω από το στοιχείο Image1, εμφανίστε την επιγραφή "Αυτή είναι μια εικόνα από ένα αρχείο.

(για οποιαδήποτε μέτρηση των διαστάσεων και της θέσης του εξαρτήματοςΕικόνα1 επιγραφή πρέπει
να είναι αυστηρά κάτω από το συστατικό).

γ) σχεδιάστε ένα γεωμετρικό σχήμα μέσα στο στοιχείο Image2: ένα γεμάτο τμήμα μιας έλλειψης που συνδέει το μέσο του στοιχείου Image με τα μέσα της κάτω και δεξιάς πλευράς του στοιχείου Image.

(με οποιαδήποτε αλλαγή στο μέγεθος και τη θέση του εξαρτήματοςΕικόνα2, το σχήμα πρέπει να κατασκευαστεί σωστά, δηλ. σύμφωνα με την ανάθεση σχετικά με το εξάρτημαΕικόνα2)

δ) αλλάξτε το χρώμα γραμμής του σχήματος που σχεδιάστηκε στο Image2 κατόπιν αιτήματος του χρήστη χρησιμοποιώντας το στοιχείο ColorDialog.

Εργασία αριθμός 2

Δημιουργήστε μια εφαρμογή που σας επιτρέπει να τοποθετείτε τυχαία πολλές ετικέτες σε ένα στοιχείο Εικόνας (για παράδειγμα, τη λέξη "Χάρα!"). Για την υλοποίηση, χρησιμοποιήστε τη γεννήτρια τυχαίων αριθμών Randomize και τη συνάρτηση Random.

Οι διαστάσεις του στοιχείου Εικόνα, η λέξη που εμφανίζεται στην Εικόνα και ο αριθμός των λέξεων πρέπει να εισαχθούν από τον χρήστη.

Εργασία αριθμός 3

Δημιουργήστε μια εφαρμογή που σας επιτρέπει να επιλέξετε το όνομα ενός γεωμετρικού σχήματος από το ListBox και να σχεδιάσετε το επιλεγμένο σχήμα στο στοιχείο Image. Το χρώμα του σχήματος επιλέγεται από το στοιχείο RadioGroup.

Εργασία αριθμός 4

Διαχωρίστε το στοιχείο PaintBox1 σε 4 ίσα μέρη, βάψτε κάθε μέρος με διαφορετικό χρώμα, για παράδειγμα: μπλε, κίτρινο, πράσινο, κόκκινο.

Δίπλα σε κάθε γωνία του PaintBox1, γράψτε τις συντεταγμένες αυτής της γωνίας (σε σχέση με την αρχή του σχήματος στο οποίο βρίσκεται το στοιχείο PaintBox1).

Εργασία αριθμός 5

ΑΠΟ

επιλέξτε τον τύπο του σχεδιασμένου σχήματος από το στοιχείο Radiogroup1, το χρώμα πλήρωσης από το στοιχείο Radiogroup2 και σχεδιάστε το επιλεγμένο σχήμα στο στοιχείο Image.

Εργασία αριθμός 6

Δημιουργήστε μια εφαρμογή που επιτρέπει στο χρήστη να ορίσει τις διαστάσεις του στοιχείου PaintBox1 (σε pixel).

Διαχωρίστε το στοιχείο PaintBox1 σε 2 ίσα μέρη, μέσα σε κάθε μέρος σχεδιάστε μια έλλειψη με το χρώμα που έχει επιλέξει ο χρήστης στο ColorDialog.

Εργασία αριθμός 7

ΑΠΟ δημιουργήστε μια εφαρμογή που σας επιτρέπει να:

επιλέξτε το όνομα του γεωμετρικού σχήματος από τη λίστα ListBox και σχεδιάστε το επιλεγμένο σχήμα στο στοιχείο Image. Το σχήμα θα πρέπει να γεμίσει με το χρώμα που έχει επιλέξει ο χρήστης στο στοιχείο ColorDialog εάν έχει επιλεγεί Ναι στο στοιχείο RadioGroup.

Εργασία αριθμός 8

Δημιουργήστε μια εφαρμογή που επιτρέπει στο χρήστη να ορίσει τις διαστάσεις του στοιχείου PaintBox1 (σε pixel).

Διαχωρίστε το στοιχείο PaintBox1 σε 4 ίσα μέρη, μέσα σε κάθε μέρος σχεδιάστε ένα διαφορετικό γεωμετρικό σχήμα (έλλειψη, ρόμβος, τρίγωνο και ορθογώνιο). Το χρώμα κάθε σχήματος επιλέγεται από τον χρήστη στο ColorGrid.

Εργασία αριθμός 9

επιλέξτε το όνομα της γεωμετρίας από το ListBox
σχήματα (έλλειψη, ρόμβος, ορθογώνιο) και σχεδίαση
το επιλεγμένο σχήμα στο στοιχείο Εικόνα. Τοποθεσία
σχήματα στο στοιχείο εικόνας (I τέταρτο, II τρίμηνο,

III ή IV τρίμηνο) και επιλέγεται το χρώμα πλήρωσης του σχήματος
από στοιχεία RadioGroup.

Εργασία αριθμός 10

Δημιουργήστε μια εφαρμογή που επιτρέπει στο χρήστη να ορίσει τις διαστάσεις του στοιχείου PaintBox1 (σε pixel).

Προσέξτε ότι το μέγεθος της πλευράς δεν μπορεί να είναι κείμενο, δεν μπορεί να είναι αρνητικός αριθμός και δεν μπορεί να υπερβαίνει το μικρότερο μέγεθος της φόρμας.

Διαχωρίστε το στοιχείο PaintBox1 σε 4 ίσα μέρη, μέσα σε κάθε μέρος σχεδιάστε ένα γεωμετρικό σχήμα που έχει επιλέξει ο χρήστης στο Combobox (έλλειψη, ρόμβος, τρίγωνο και ορθογώνιο). Το χρώμα του σχήματος επιλέγεται από τον χρήστη στο ColorBox.

Εργασία αριθμός 11

Δημιουργήστε μια εφαρμογή που σας επιτρέπει να:

επιλέξτε τη θέση του συρόμενου από το στοιχείο Radiogroup

στο στοιχείο Εικόνα του ορθογωνίου τριγώνου, ορίστε
το χρώμα πλήρωσης του σχήματος ή το χρώμα του περιγράμματος, ανάλογα με
ενεργοποιώντας τα κουμπιά του πλαισίου ελέγχου. Επιλογή χρώματος μέσω
Συστατικό ColorGrid.

Εργασία αριθμός 12

Δημιουργήστε μια εφαρμογή που επιτρέπει στο χρήστη να ορίσει τις διαστάσεις του στοιχείου PaintBox1 (σε pixel).

Προσέξτε ότι το μέγεθος της πλευράς δεν μπορεί να είναι κείμενο, δεν μπορεί να είναι αρνητικός αριθμός και δεν μπορεί να υπερβαίνει το μικρότερο μέγεθος της φόρμας.

Διαχωρίστε το στοιχείο PaintBox1 σε 2 ίσα μέρη, μέσα σε ένα από τα μέρη σχεδιάστε ένα γεωμετρικό σχήμα που έχει επιλέξει ο χρήστης στο Combobox (έλλειψη, ρόμβος, τρίγωνο και ορθογώνιο). Το χρώμα του σχήματος επιλέγεται από τον χρήστη στο ColorBox.

Για παράδειγμα, μπορείτε να αλλάξετε το χρώμα μιας φόρμας όπως αυτό:

form1.Color:= ColorBox1.Colors;

Εργασία αριθμός 13

Δημιουργήστε μια εφαρμογή που σας επιτρέπει να:

α) σχεδιάστε ένα τετράγωνο στη μέση του σχήματος (το μέγεθος της πλευράς του τετραγώνου εισάγεται από τον χρήστη). Προσέξτε ότι το μέγεθος της πλευράς δεν μπορεί να είναι κείμενο, δεν μπορεί να είναι αρνητικός αριθμός και δεν μπορεί να υπερβαίνει το μικρότερο μέγεθος της φόρμας.

β) Διαιρέστε το τετράγωνο με μία ή δύο διαγώνιες, ανάλογα με τη συμπερίληψη των κουμπιών του πλαισίου ελέγχου, και ζωγραφίστε κάθε τρίγωνο που προκύπτει με διαφορετικό χρώμα. Η επιλογή του χρώματος γίνεται από τον χρήστη.

Εργασία αριθμός 14

Δημιουργήστε μια εφαρμογή που επιτρέπει στο χρήστη να ορίσει τις διαστάσεις του στοιχείου PaintBox1 (σε pixel).

Προσέξτε ότι το μέγεθος της πλευράς δεν μπορεί να είναι κείμενο, δεν μπορεί να είναι αρνητικός αριθμός και δεν μπορεί να υπερβαίνει το μικρότερο μέγεθος της φόρμας.

Διαχωρίστε το στοιχείο PaintBox1 σε 2 ίσα μέρη, σχεδιάστε έναν ρόμβο μέσα στο ένα μέρος και σχεδιάστε οποιοδήποτε τρίγωνο μέσα στο άλλο μέρος. Το χρώμα του σχήματος επιλέγεται από τον χρήστη στο ColorBox.

Για παράδειγμα, μπορείτε να αλλάξετε το χρώμα μιας φόρμας όπως αυτό:

form1.Color:= ColorBox1.Colors;

Εργασία αριθμός 15

Δημιουργήστε μια εφαρμογή που σας επιτρέπει να:

α) ορίστε τις διαστάσεις του στοιχείου Εικόνα οριζόντια και κατακόρυφα ώστε να είναι ίδιες και ίσες με τον αριθμό που εισάγει ο χρήστης από το πληκτρολόγιο.

(υπό την προϋπόθεση ότι το μέγεθος της πλευράς δεν μπορεί να είναι κείμενο, δεν μπορεί να είναι αρνητικός αριθμός και δεν μπορεί να υπερβαίνει το μικρότερο μέγεθος της φόρμας)

β) διαιρέστε το στοιχείο Εικόνα σε 4 ίσα τετράγωνα με δύο μπλε γραμμές.

γ) μέσα σε κάθε τετράγωνο που προκύπτει, σχεδιάστε έναν κύκλο που είναι εγγεγραμμένος σε αυτό (το χρώμα των κύκλων επιτρέπεται να επιλέγεται από τον χρήστη μέσω του πλαισίου διαλόγου επιλογής χρώματος).

Εργασία αριθμός 16

Δημιουργήστε μια εφαρμογή που επιτρέπει στο χρήστη να ορίσει τις διαστάσεις του στοιχείου PaintBox1 (σε pixel).

Προσέξτε ότι το μέγεθος της πλευράς δεν μπορεί να είναι κείμενο, δεν μπορεί να είναι αρνητικός αριθμός και δεν μπορεί να υπερβαίνει το μικρότερο μέγεθος της φόρμας.

Διαχωρίστε το στοιχείο PaintBox1 σε 9 ίσα μέρη και ζωγραφίστε κάθε παραλληλόγραμμο σκακιέρας που προκύπτει. Το χρώμα πλήρωσης επιλέγεται από τον χρήστη στο ColorBox.

Για παράδειγμα, μπορείτε να αλλάξετε το χρώμα μιας φόρμας όπως αυτό:

form1.Color:= ColorBox1.Colors;

Εργασία αριθμός 17

Τοποθετήστε δύο στοιχεία εικόνας και τέσσερα κουμπιά στη φόρμα: Χρώμα γραμμής, Χρώμα συμπλήρωσης, ΟΚ και Έξοδος. και το στοιχείο Επεξεργασία.

Όταν κάνετε κλικ στο κουμπί OK, το Image1 σχεδιάζει ένα τετράγωνο με την πλευρά X και το Image2 σχεδιάζει ένα ορθογώνιο τρίγωνο με ίσα σκέλη, καθένα από τα οποία έχει μήκος X.

Η κορυφή του τριγώνου συμπίπτει με την αρχή της Εικόνας2. Μία από τις κορυφές του τετραγώνου συμπίπτει με την προέλευση της Εικόνας1.

Το κουμπί ΟΚ γίνεται διαθέσιμο μόνο όταν επιλεγεί το χρώμα γραμμής και το χρώμα πλήρωσης για το σχέδιο του σχήματος.

X - επιλέγει τυχαία, χρησιμοποιώντας τη συνάρτηση Random και η τιμή της τιμής X θα πρέπει να εμφανίζεται στο στοιχείο Επεξεργασία.

Εργασία αριθμός 18

Δημιουργήστε μια εφαρμογή που επιτρέπει στο χρήστη να ορίσει τις διαστάσεις του στοιχείου PaintBox1 (σε pixel).

Διαχωρίστε το στοιχείο PaintBox1 σε 4 ίσα μέρη, μέσα στο τμήμα που έχει επιλέξει ο χρήστης, πρέπει να δημιουργηθεί ένας γεμάτος κύκλος, το μέγεθος του οποίου ορίζεται από τον χρήστη. Ο χρήστης επιλέγει το χρώμα πλήρωσης στο ColorBox.

Για παράδειγμα, μπορείτε να αλλάξετε το χρώμα μιας φόρμας όπως αυτό:

form1.Color:= ColorBox1.Colors;

Λίστα εξαρτημάτων για την εμφάνιση γραφικών πληροφοριών

Για την εμφάνιση γραφικών πληροφοριών, η βιβλιοθήκη Delphi παρέχει στοιχεία, η λίστα των οποίων δίνεται στον Πίνακα 4.1.

Πίνακας 4.1 Εικονόγραμμα στοιχείων απεικόνισης γραφικών πληροφοριών

Συστατικό

Σελίδα

Περιγραφή

Εικόνα (εικόνα)

Χρησιμοποιείται για την εμφάνιση γραφικών: εικονίδια, bitmaps και μετα-αρχεία.


PaintBox (παράθυρο για σχέδιο)

Χρησιμοποιείται για τη δημιουργία μιας περιοχής στη φόρμα με την οποία μπορείτε να σχεδιάσετε.


DrawGrid (πίνακας σχεδίασης)

Χρησιμοποιείται για την εμφάνιση δεδομένων μη κειμένου σε σειρές και στήλες.


Διάγραμμα (γραφήματα και γραφήματα)

Το στοιχείο ανήκει στην οικογένεια στοιχείων TChart που χρησιμοποιούνται για τη δημιουργία γραφημάτων και γραφημάτων.


Μπορείτε επίσης να εμφανίσετε και να εισαγάγετε γραφικές πληροφορίες στην επιφάνεια οποιουδήποτε καμβά.

Καμβάς Καμβάςδεν αποτελεί συστατικό, επομένως, αυστηρά μιλώντας, δεν πρέπει να θεωρηθεί εντός του πεδίου εφαρμογής αυτού του βιβλίου. Επειδή όμως πολλά στοιχεία, ιδίως οι φόρμες, έχουν καμβά και ο καμβάς παρέχει τη δυνατότητα εμφάνισης διαφόρων γραφικών πληροφοριών, συνιστάται να δώσετε κάποιες αρχικές πληροφορίες για τον καμβά.

Ένας καμβάς είναι μια περιοχή ενός στοιχείου όπου μπορείτε να σχεδιάσετε ή να εμφανίσετε έτοιμες εικόνες. Περιέχει ιδιότητες και μεθόδους που απλοποιούν πολύ τα γραφικά των Δελφών. Όλες οι πολύπλοκες αλληλεπιδράσεις με το σύστημα είναι κρυφές για τον χρήστη, έτσι ένα άτομο που είναι εντελώς απλό σε γραφικά υπολογιστή μπορεί να σχεδιάζει στους Δελφούς.

Κάθε σημείο του καμβά έχει συντεταγμένες Χκαι Υ. Το σύστημα συντεταγμένων του καμβά, όπως παντού αλλού στους Δελφούς, ξεκινά από την επάνω αριστερή γωνία του καμβά. Συντεταγμένη Χαυξάνεται όταν μετακινείται από αριστερά προς τα δεξιά και η συντεταγμένη Υ- όταν μετακινείστε από πάνω προς τα κάτω. Οι συντεταγμένες μετρώνται σε pixel. Ένα pixel είναι το μικρότερο στοιχείο στην επιφάνεια ενός σχεδίου που μπορεί να χειριστεί. Η πιο σημαντική ιδιότητα ενός pixel είναι το χρώμα του.

Το Canvas έχει την ιδιοκτησία Pixels. Αυτή η ιδιότητα είναι ένας πίνακας 2D που ελέγχει τα χρώματα του καμβά. Για παράδειγμα, Καμβάς. Pixelsαντιστοιχεί στο χρώμα του pixel 10ο από αριστερά και 20ο από πάνω. Ένας πίνακας εικονοστοιχείων μπορεί να αντιμετωπιστεί όπως οποιαδήποτε ιδιότητα: αλλάξτε το χρώμα δίνοντας στο pixel μια νέα τιμή ή προσδιορίστε το χρώμα του από την τιμή που είναι αποθηκευμένη σε αυτό. Για παράδειγμα, Καμβάς. Pixel:=0ή Καμβάς. Pixels :=clΜαύρο- αυτή είναι μια εργασία για ένα μαύρο pixel.

Ιδιοκτησία Pixelsμπορεί να χρησιμοποιηθεί για σχέδιο σε καμβά. Ας προσπαθήσουμε να σχεδιάσουμε ένα γράφημα pixel προς pixel ενός ημιτονοειδούς κύματος στον καμβά σχήματος. Για να το κάνετε αυτό, στο πρόγραμμα χειρισμού συμβάντων φόρμας OnPaint(σχέδιο) μπορείτε να εισάγετε τον ακόλουθο κώδικα:

Tform1. FormPaint(Αποστολέας: TObject);

var,Y: πραγματικό; // συντεταγμένες συνάρτησης,PY: longint; // συντεταγμένες pixel

να αρχίσει:=clΛευκό;

Για PX:=0 προς τηνΠλάτος πελάτη κάνω

(Χ - επιχείρημα πλοκής,

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

(PY - συντεταγμένες pixel,

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

(Ρυθμίζει το χρώμα του επιλεγμένου

pixel (Σχετικά με τη φωτεινότητα). Pixel:=0;

τέλος;

Εκτελέστε αυτήν την εφαρμογή δοκιμής και θα δείτε το αποτέλεσμα που φαίνεται στην Εικόνα 4.1 α. Το ημιτονοειδές γράφημα αποδείχθηκε, αν και όχι πολύ καλό, επειδή. αναλύονται σε μεμονωμένες κουκκίδες - pixel.

Καμβάς - αντικείμενο κλάσης TCanvasέχει πολλές μεθόδους που σας επιτρέπουν να σχεδιάζετε γραφήματα, γραμμές, σχήματα χρησιμοποιώντας την ιδιότητα στυλό- φτερό. Αυτή η ιδιότητα είναι ένα αντικείμενο, το οποίο με τη σειρά του έχει μια σειρά από ιδιότητες. Ένα από αυτά είναι ένα ακίνητο που ήδη γνωρίζετε χρώμα- το χρώμα με το οποίο εφαρμόζεται το σχέδιο. Το δεύτερο ακίνητο είναι Πλάτος(πλάτος γραμμής). Το πλάτος καθορίζεται σε pixel. Το προεπιλεγμένο πλάτος είναι 1.

Ιδιοκτησία στυλκαθορίζει τον τύπο της γραμμής. Αυτή η ιδιότητα μπορεί να λάβει τις ακόλουθες τιμές:

Ο καμβάς έχει μια ιδιότητα PenPosτύπος TPoint(εκ .). Αυτή η ιδιότητα καθορίζει την τρέχουσα θέση του στυλό σε συντεταγμένες καμβά. Κινώντας το στυλό χωρίς να χαράξουμε γραμμή, δηλ. αλλαγή PenPos, που παράγεται με τη μέθοδο του καμβά Μετακίνηση σε (Χ, Υ).Εδώ ( Χ, Υ) -τις συντεταγμένες του σημείου όπου κινείται η πένα. Αυτό το τρέχον σημείο γίνεται το σημείο εκκίνησης, από το οποίο η μέθοδος LineTo(X,Y)μπορείτε να σχεδιάσετε μια γραμμή σε ένα σημείο με συντεταγμένες ( Χ, Υ).Αυτό μετακινεί το τρέχον σημείο στο τελικό σημείο της γραμμής και στη νέα κλήση LineToθα αντλήσει ένα σημείο από αυτό το νέο τρέχον σημείο.

Ας προσπαθήσουμε να σχεδιάσουμε το ημιτονογράφημα από το προηγούμενο παράδειγμα με ένα στυλό. Σε αυτήν την περίπτωση, ο χειριστής συμβάντων φόρμας OnPaintμπορεί να μοιάζει με:

διαδικασία Tform1. FormPaint(Αποστολέας: TObject);

var,Y: πραγματικό; // συντεταγμένες συνάρτησης,PY: longint; // συντεταγμένες pixel

να αρχίσει:=clΛευκό;. MoveTo(0,ClientHeight div 2);

Για PX:=0 προς τηνΠλάτος πελάτη κάνω

(Χ - επιχείρημα πλοκής,

που αντιστοιχεί στο pixel με τη συντεταγμένη px):=PX*4*Pi/ClientWidth;:=Sin(X);

(PY - συντεταγμένες pixel,

που αντιστοιχεί στη συντεταγμένη Υ):=trunc(ClientHeight - (Y+1) *ClientHeight/2);

(Στο γράφημα σχεδιάζεται μια γραμμή). LineTo(PX,PY);

Μπορείτε να δείτε το αποτέλεσμα της εφαρμογής σε αυτήν την έκδοση στην Εικόνα 4.1 β. Όπως μπορείτε να δείτε, η ποιότητα του γραφήματος έχει βελτιωθεί σημαντικά.

Το στυλό μπορεί να σχεδιάσει όχι μόνο ευθείες γραμμές, αλλά και σχήματα. Για μια πλήρη λίστα μεθόδων καμβά που βασίζονται σε στυλό, ανατρέξτε στην ενσωματωμένη βοήθεια του Delphi. Εν τω μεταξύ, ως παράδειγμα, θα δώσουμε μόνο ένα από αυτά - ΕλλειψηΑ που σχεδιάζει μια έλλειψη ή έναν κύκλο. Δηλώνεται ως

διαδικασία Ellipse(X1, Y1, X2, Y2: Integer);

όπου οι παράμετροι Χ1, Χ2, Υ1, Υ2ορίστε τις συντεταγμένες ενός ορθογωνίου που περιγράφει μια έλλειψη ή έναν κύκλο. Για παράδειγμα, ο χειριστής

Ellipse(10, 40, 20, 50);

θα σχεδιάσει έναν κύκλο με διάμετρο 10 και κέντρο συντεταγμένες (15, 45).

Τα σχήματα σχεδιάζονται γενικά όχι κενά, αλλά συμπληρώνονται χρησιμοποιώντας την ιδιότητα καμβά Βούρτσα- πινέλο. Ιδιοκτησία Βούρτσαείναι ένα αντικείμενο που έχει με τη σειρά του μια σειρά από ιδιότητες. Ιδιοκτησία χρώμαορίζει το χρώμα πλήρωσης. Ιδιοκτησία στυλορίζει το μοτίβο πλήρωσης (εκκόλαψη). Προεπιλεγμένη τιμή στυλισοδυναμεί bsΣτερεό, που σημαίνει συμπαγής χρωματισμός χρώμα.

Στο στυλό στυλόΥπάρχει ακόμη ένα ακίνητο που δεν έχουμε ακόμη εξετάσει. Αυτή η ιδιοκτησία είναι τρόπος(τρόπος). Προεπιλεγμένη τιμή Λειτουργία = pmΑντιγραφή. Αυτό σημαίνει ότι οι γραμμές σχεδιάζονται με το χρώμα που καθορίζεται στην ιδιότητα χρώμα. Αλλά είναι δυνατές και άλλες λειτουργίες, στις οποίες δεν λαμβάνεται υπόψη μόνο το χρώμα χρώμα, αλλά και το χρώμα των αντίστοιχων pixel φόντου. Το πιο ενδιαφέρον από αυτά τα modes είναι το mode pmNotXor- προσθήκη με το φόντο με αντίστροφη αποκλειστική OR. Εάν έχει οριστεί αυτή η λειτουργία, τότε η σχεδίαση του ίδιου σχήματος ξανά στο ίδιο σημείο στον καμβά αφαιρεί την εικόνα που σχεδιάστηκε προηγουμένως και επαναφέρει τα χρώματα των εικονοστοιχείων που ήταν πριν από το πρώτο σχέδιο του σχήματος.

Αυτό το χαρακτηριστικό του καθεστώτος pmNotXorμπορεί να χρησιμοποιηθεί για τη δημιουργία απλών κινούμενων εικόνων. Αρκεί να σχεδιάσετε κάτι, μετά να σβήσετε το σχέδιο, να το ξανασχεδιάσετε ελαφρώς αλλαγμένο - και το σχέδιο θα φαίνεται να ζωντανεύει.

Προσπαθήστε να φτιάξετε μόνοι σας ένα απλό κινούμενο σχέδιο - έναν κινούμενο κύκλο. Ξεκινήστε μια νέα εφαρμογή και μεταβείτε στην ενότητα εκτέλεσηεισαγωγή αγγελίας

X,Y: ακέραιος;

Αυτό θα εισάγει καθολικές μεταβλητές Χκαι Υ- τρέχουσες συντεταγμένες εικόνας.

Σε μια εκδήλωση μορφής OnPaintεισάγετε δηλώσεις

Βούρτσα. Χρώμα:=clΛευκό;:=clΛευκό;. Στυλό. Λειτουργία:=pmNotXor;

Ο πρώτος από αυτούς τους τελεστές ορίζει το χρώμα του πινέλου σε λευκό. Βούρτσα. Έτσι ο κύκλος σας θα βαφτεί εσωτερικά με λευκό. Η δεύτερη πρόταση ορίζει το χρώμα φόντου της επιφάνειας της φόρμας σε λευκό.

Η τρίτη πρόταση ορίζει τη λειτουργία στυλό pmNotXor, που θα σας επιτρέψει να διαγράψετε την παλιά εικόνα πριν σχεδιάσετε τη νέα.

Ακόμη και το πιο απλό κινούμενο σχέδιο χρειάζεται συγχρονισμό. Διαφορετικά, η ταχύτητα κίνησης θα καθοριστεί από την ταχύτητα του υπολογιστή. Επομένως, μεταφέρετε το στοιχείο στη φόρμα μετρών την ώραν- χρονόμετρο από το σύστημα. Αυτό το εξάρτημα περιγράφεται στην ενότητα 5.7 .

Μπορείτε να δείτε τη λεπτομερή περιγραφή του εκεί. Προς το παρόν, ορίστε την ιδιότητά του Διάστημαίσο, για παράδειγμα, με 30 (αυτός είναι ο χρόνος παραμονής σε χιλιοστά του δευτερολέπτου, αλλά ο πραγματικός χρόνος παραμονής θα είναι μεγαλύτερος - βλέπε ενότητα 5.7) και ορίστε την ιδιότητα Ενεργοποιημένοίσος ψευδής(αυτό σημαίνει ότι το χρονόμετρο δεν θα ξεκινήσει αυτόματα όταν ξεκινήσει η εφαρμογή).

Σε περίπτωση χειρισμού συμβάντων αυτού του στοιχείου OnTimerεισάγετε δηλώσεις

// Διαγραφή παλιάς εικόνας. Ellipse (X-5, Y, X+5, Y-1Q); (X);

// Σχεδιάστε μια νέα εικόνα. Ellipse (Χ-5, Υ, Χ+5, Υ-10);

// Σταματήστε όταν φτάσετε στο τέλος της φόρμας

αν(X >= ClientWidth-20) έπειτα. enabled:=false;

Ο πρώτος από αυτούς τους τελεστές σχεδιάζει έναν κύκλο στη θέση που σχεδιάστηκε νωρίτερα, δηλ. διαγράφει την προηγούμενη εικόνα.

Η τελευταία πρόταση σταματά την εικόνα στην άκρη της φόρμας.

Τώρα προσθέστε ένα κουμπί στη φόρμα. κουμπίκαι στον χειριστή κλικ πάνω του τοποθετήστε τους τελεστές

Χ: =10;: =100;. Ellipse(X-5, Y, X+5, Y-10); enabled:=true;

Οι δύο πρώτοι τελεστές ορίζουν τις αρχικές συντεταγμένες του κύκλου. Η τρίτη πρόταση σχεδιάζει τον κύκλο στην αρχική του θέση και η τέταρτη ξεκινά το χρονόμετρο.

Μεταφράστε την εφαρμογή, εκτελέστε την, κάντε κλικ στο κουμπί. Θα δείτε μια κυκλική εικόνα να κινείται κατά μήκος της φόρμας από αριστερά προς τα δεξιά. Και μετά συνδέστε τη φαντασία σας και μετατρέψτε αυτήν την όχι πολύ ενδιαφέρουσα εφαρμογή σε κάτι πιο συναρπαστικό.

Στον καμβά, μπορείτε να εμφανίσετε όχι μόνο εικόνες που δημιουργούνται μέσω προγραμματισμού, αλλά και εικόνες που είναι αποθηκευμένες σε αρχεία γραφικών. Μόνο ο ίδιος ο καμβάς δεν έχει μέθοδο για τη φόρτωση μιας εικόνας από ένα αρχείο. Επομένως, το αρχείο πρέπει να φορτωθεί σε κάποιο άλλο γραφικό αντικείμενο με δυνατότητα λήψης πληροφοριών από αρχεία γραφικών. Και στη συνέχεια ξαναγράψτε την εικόνα από αυτό το αντικείμενο στον καμβά χρησιμοποιώντας τη μέθοδο καμβά Σχεδιάζω. Η περιγραφή του:

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

Εδώ οι παράμετροι Χκαι Υπροσδιορίστε τις συντεταγμένες της επάνω αριστερής γωνίας της τοποθέτησης της εικόνας στον καμβά, α Γραφικός- ένα αντικείμενο που αποθηκεύει πληροφορίες. Ένα τέτοιο αντικείμενο μπορεί να είναι, για παράδειγμα, ένα αντικείμενο τύπου TBitMap, που προορίζεται για την αποθήκευση πινάκων bit. Ας δούμε πώς φαίνονται όλα στην πράξη.

Ανοίξτε μια νέα εφαρμογή, σύρετε ένα στοιχείο στη φόρμα OpenPictureDialogαπό τη σελίδα διαλόγων (αυτό είναι ένα στοιχείο του διαλόγου για το άνοιγμα αρχείων γραφικών - βλ. ενότητα 8.2 ) και ένα κουμπί κουμπί. Θέση OpenPictureDialogοπουδήποτε στη φόρμα, καθώς αυτό το στοιχείο δεν είναι οπτικό, και τοποθετήστε το κουμπί στο κάτω μέρος της φόρμας. Εισαγάγετε τον ακόλουθο κωδικό στο πρόγραμμα χειρισμού κλικ κουμπιών:

διαδικασία Tform1. Button1Click(Αποστολέας: TObject);

var:TBitMap;

// Επιλογή αρχείου γραφικών από τον χρήστη

αν OpenPictureDialog1. Εκτέλεση έπειτα

// Δημιουργία αντικειμένου BitMap τύπου TBitMap:=TBitMap. δημιουργώ;

// Μεταφορά εικόνας σε καμβά σχηματισμού. Draw(10, 10, bitmap);

// Καταστρέψτε το αντικείμενο BitMap. Ελεύθερος;

τέλος;

Αυτός ο κώδικας δημιουργεί ένα προσωρινό αντικείμενο τύπου TBitMapΜε όνομα bitmap. Στη συνέχεια καλείται το παράθυρο διαλόγου για το άνοιγμα ενός αρχείου γραφικών. OpenPictureDialog1και, εάν ο χρήστης έχει επιλέξει ένα αρχείο, τότε αυτό φορτώνεται σε bitmapμέθοδος LoadFromFile. Στη συνέχεια η μέθοδος Σχεδιάζωη φορτωμένη εικόνα αντιγράφεται στον καμβά στην περιοχή με τις συντεταγμένες της επάνω αριστερής γωνίας (10,10). Μετά από αυτό το προσωρινό αντικείμενο bitmapκαταστρέφεται.

Εκκινήστε την εφαρμογή σας και κάντε κλικ στο κουμπί της. Θα δείτε ότι μπορείτε να ανεβάσετε οποιοδήποτε τύπο αρχείου γραφικών. bmpκαι θα εμφανιστεί στον καμβά της φόρμας (βλ. Εικ. 4.2 α). Μπορείτε να βρείτε αρχεία γραφικών στον κατάλογο Εικόνες. Στους Δελφούς 5 και 4 συνήθως βρίσκεται σε έναν κατάλογο. \program files\Common Files\Borland Shared. Στους Δελφούς 3 βρίσκεται σε έναν κατάλογο. \program files\Borland\Delphi 3 και στους Delphi 1 - στον κατάλογο Delphi 16. Ο κατάλογος Images περιέχει, συγκεκριμένα, τον υποκατάλογο \Images\Splash\16Color\, ο οποίος αποθηκεύει το αρχείο που έχει φορτωθεί στο παράδειγμα της Εικ. 4.2

Έχετε δημιουργήσει μια ωραία εφαρμογή για την προβολή αρχείων γραφικών. Αλλά τώρα ας προσπαθήσουμε να δούμε το σημαντικό του μειονέκτημα. Χωρίς να κλείσετε την αίτησή σας, μεταβείτε σε κάποιο άλλο πρόγραμμα, για παράδειγμα, επιστρέψτε στους Δελφούς. Στη συνέχεια, χωρίς να κάνετε τίποτα εκεί, επιστρέψτε στην τρέχουσα εφαρμογή σας. Εάν το παράθυρο του προγράμματος που αφήσατε κάλυπτε πλήρως το παράθυρο της εφαρμογής σας, τότε όταν επιστρέψετε σε αυτό θα δείτε ότι η εικόνα στο παράθυρο έχει εξαφανιστεί. Εάν το παράθυρο της αίτησής σας επικαλύπτεται μόνο εν μέρει, τότε όταν επιστρέψετε στην εφαρμογή σας, ενδέχεται να δείτε ένα αποτέλεσμα παρόμοιο με αυτό που φαίνεται στην Εικ. 4.2 β.

Μπορείτε να δείτε ότι εάν το παράθυρο κάποιας άλλης εφαρμογής επικαλύπτει προσωρινά το παράθυρο της εφαρμογής σας, τότε η εικόνα που σχεδιάστηκε στον καμβά της φόρμας είναι κατεστραμμένη. Ας δούμε πώς μπορούμε να διορθώσουμε αυτό το μειονέκτημα.

Εάν το παράθυρο έχει καλυφθεί και η εικόνα είναι κατεστραμμένη, το λειτουργικό σύστημα ενημερώνει την εφαρμογή ότι κάτι έχει αλλάξει στο περιβάλλον και ότι η εφαρμογή πρέπει να λάβει τα κατάλληλα μέτρα. Μόλις απαιτείται ενημέρωση παραθύρου, δημιουργείται ένα συμβάν για αυτό OnPaint. Στον χειριστή αυτού του συμβάντος (στην περίπτωσή μας, το συμβάν φόρμας) πρέπει να σχεδιάσουμε ξανά την εικόνα.

Η επανασχεδίαση μπορεί να γίνει με διαφορετικούς τρόπους, ανάλογα με την εφαρμογή. Στο παράδειγμά μας, θα μπορούσαμε να κάνουμε μια δήλωση μεταβλητής bitmap(χειριστής var BitMap: TBitMap) εκτός της παραπάνω διαδικασίας, π.χ. Κάντε αυτή τη μεταβλητή καθολική τοποθετώντας την απευθείας στην ενότητα εκτέλεση. Χειριστής bitmap. Ελεύθεροςθα μπορούσε να μετακινηθεί στο πρόγραμμα χειρισμού συμβάντων φόρμας OnDestroyπου συμβαίνει όταν κλείνει η εφαρμογή. Στη συνέχεια, κατά τη διάρκεια ολόκληρου του χρόνου εκτέλεσης της εφαρμογής σας, θα έχετε ένα αντίγραφο της εικόνας στο στοιχείο bitmapκαι πρέπει απλώς να εισαγάγετε τον χειριστή συμβάντων OnPaintσχηματίζει μόνο έναν τελεστή:

Draw(10, 10, bitmap);

Κάντε αυτό και θα δείτε ότι η εικόνα στη φόρμα δεν αλλοιώνεται με τυχόν επικαλύψεις παραθύρων.

Εκτός από την εξεταζόμενη μέθοδο ΣχεδιάζωΟ καμβάς έχει άλλη μέθοδο αντιγραφής CopyRect:

CopyRect(Dest: TRect; Καμβάς: TCanvas; Πηγή: TRect);

Η μέθοδος αντιγράφει την καθορισμένη παράμετρο Πηγήπεριοχή εικόνας στον καμβά πηγής εικόνας Καμβάςστο καθορισμένο Destπεριοχή αυτού του καμβά. Τύπου TRectπου χαρακτηρίζει ορθογώνιες περιοχές Πηγήκαι Dest, που ήδη περιγράφηκε στην ενότητα 3.2 .

Για παράδειγμα, ο χειριστής

CopyRect(MyRect2, Bitmap.Canvas, MyRect1);

αντίγραφα στον καμβά της φόρμας στην περιοχή MyRect2εικόνα από την περιοχή MyRect1συστατικό καμβά bitmap.

Μέθοδος αντιγραφής CopyRectπαράγονται με τη λειτουργία που έχει ορίσει η ιδιοκτησία CopyMode. Από προεπιλογή, αυτή η ιδιότητα έχει οριστεί σε cmSrcΑντιγραφή, που σημαίνει απλώς την αντικατάσταση της εικόνας που περιλαμβανόταν προηγουμένως στο εύρος Dest, στην αντιγραμμένη εικόνα. Άλλες πιθανές τιμές CopyModeσας επιτρέπουν να συνδυάσετε εικόνες, αλλά η εξέτασή τους ξεφεύγει από το πεδίο εφαρμογής αυτού του βιβλίου.

Θα περιοριστούμε σε αυτές τις βασικές πληροφορίες σχετικά με την έξοδο γραφικών πληροφοριών στον καμβά. Ενότητα 3.2 αναφέρθηκαν πληροφορίες σχετικά με την έξοδο στον καμβά του κειμένου. Γενικά, ο καμβάς είναι ένα σύνθετο αντικείμενο που έχει πολλές περισσότερες ιδιότητες και μεθόδους. Αλλά αυτό απαιτεί μια λεπτομερή συζήτηση που ξεφεύγει από τον σκοπό αυτού του βιβλίου. Το επόμενο βιβλίο της σειράς Όλα για τους Δελφούς θα διερευνήσει αυτά τα ζητήματα με περισσότερες λεπτομέρειες.

Ένα στοιχείο παραθύρου που έχει μια ιδιότητα Καμβάς- καμβάς.

Στοιχεία εικόνας και PaintBox

Συστατικά Εικόνακαι κουτί βαφήςαντιπροσωπεύουν κάποια περιορισμένη επιφάνεια με καμβά, στον οποίο μπορούν να εισαχθούν εικόνες, όπως περιγράφεται στην ενότητα 4.2 . Ταυτόχρονα, το συστατικό κουτί βαφής, μάλιστα, δεν δίνει κάτι νέο σε σύγκριση με το σχέδιο στον καμβά της φόρμας. Αντλωντας απο κουτί βαφήςαντί για μορφή, δεν έχει κανένα πλεονέκτημα, εκτός ίσως από κάποια ανακούφιση στη διάταξη ενός ή περισσότερων σχεδίων στην περιοχή του παραθύρου.

Εκτός όμως από αυτές τις δυνατότητες, το εξάρτημα ΕικόναΥπάρχουν ιδιότητες που σας επιτρέπουν να εργάζεστε με διαφορετικούς τύπους αρχείων γραφικών Υποστηρίζει τρεις τύπους αρχείων - bitmaps, εικονίδια και μετα-αρχεία. Και οι τρεις τύποι αρχείων αποθηκεύουν εικόνες. Η διαφορά έγκειται μόνο στον τρόπο αποθήκευσης σε αρχεία και στα μέσα πρόσβασης σε αυτά. Bitmap (αρχείο με επέκταση . bmp) εμφανίζει το χρώμα κάθε pixel στην εικόνα. Ταυτόχρονα, οι πληροφορίες αποθηκεύονται με τέτοιο τρόπο ώστε οποιοσδήποτε υπολογιστής να μπορεί να εμφανίσει μια εικόνα με ανάλυση και τον αριθμό των χρωμάτων που αντιστοιχεί στη διαμόρφωσή του.

Εικονογράμματα (αρχεία με την επέκταση . ico) είναι πίνακες μικρών δυαδικών ψηφίων. Χρησιμοποιούνται ευρέως για τον προσδιορισμό εικονιδίων εφαρμογών, σε γρήγορα κουμπιά, σε στοιχεία μενού, σε διάφορες λίστες. Ο τρόπος αποθήκευσης εικόνων σε εικονίδια είναι παρόμοιος με την αποθήκευση πληροφοριών σε bitmaps, αλλά υπάρχουν διαφορές. Συγκεκριμένα, το εικονίδιο δεν μπορεί να κλιμακωθεί, διατηρεί το μέγεθος στο οποίο δημιουργήθηκε.

Τα μετα-αρχεία δεν αποθηκεύουν την ακολουθία των bit που συνθέτουν μια εικόνα, αλλά πληροφορίες σχετικά με τον τρόπο δημιουργίας της εικόνας. Αποθηκεύουν ακολουθίες εντολών σχεδίασης που μπορούν να επαναληφθούν κατά την αναδημιουργία της εικόνας. Αυτό καθιστά τέτοια αρχεία γενικά πιο συμπαγή από τα bitmaps.

Συστατικό Εικόνασας επιτρέπει να εμφανίζετε πληροφορίες που περιέχονται σε αρχεία γραφικών όλων των καθορισμένων τύπων. Για αυτό, η περιουσία του εικόνα- αντικείμενο του τύπου TPεικόνα.

Εικ.4.3Παράθυρο επεξεργασίας εικόνας


Για να εξοικειωθείτε με αυτήν την ιδιότητα, ανοίξτε μια νέα εφαρμογή και μεταφέρετε το στοιχείο στη φόρμα Εικόνα. Τεντώστε το ή ορίστε την ιδιότητά του Ευθυγραμμίζωίσος alClientέτσι ώστε να καταλαμβάνει ολόκληρη την περιοχή πελάτη της φόρμας. Κάντε κλικ στο κουμπί με την έλλειψη δίπλα στο ακίνητο εικόναστο παράθυρο του Object Inspector ή απλώς κάντε διπλό κλικ Εικόνα. Ένα παράθυρο επεξεργασίας εικόνας θα ανοίξει μπροστά σας (Εικ. 4.3), επιτρέποντάς σας να φορτώσετε στην ιδιοκτησία εικόνακάποιο αρχείο γραφικών (κουμπί φόρτωσης), καθώς και αποθήκευση του ανοιχτού αρχείου με νέο όνομα ή σε νέο κατάλογο. Κάντε κλικ στο Load για να φορτώσετε το αρχείο γραφικών. Θα δείτε ένα παράθυρο για το άνοιγμα ενός αρχείου γραφικών, όπως φαίνεται στην Εικόνα 4.4 Καθώς μετακινείτε τον κέρσορα στη λίστα των αρχείων γραφικών, οι εικόνες που περιέχονται σε αυτά εμφανίζονται στο δεξιό παράθυρο και πάνω από αυτές - αριθμοί που χαρακτηρίζουν το μέγεθος του εικόνα. Μπορείτε να επιλέξετε οποιοδήποτε είδος αρχείου γραφικών θέλετε. Θυμηθείτε ότι μπορείτε να βρείτε τα αρχεία γραφικών που παρέχονται με το Delphi στον κατάλογο Εικόνες. Στους Δελφούς 5 και 4 συνήθως βρίσκεται σε έναν κατάλογο. \program files\Common Files\Borland Shared. Στους Δελφούς 3 βρίσκεται σε έναν κατάλογο. \program files\Borland\Delphi 3 και στους Delphi 1, στον κατάλογο Delphi 16. Αφού φορτωθεί το αρχείο, κάντε κλικ στο OK στο παράθυρο Picture Editor και στο στοιχείο σας Εικόναθα εμφανιστεί η εικόνα που επιλέξατε. Μπορείτε να εκτελέσετε την εφαρμογή σας και να τη θαυμάσετε. Ωστόσο, βλέπετε ήδη την εικόνα, ακόμη και χωρίς να εκτελείτε την εφαρμογή.

Όταν φορτώσατε μια εικόνα από ένα αρχείο σε ένα στοιχείο κατά τη διάρκεια του σχεδιασμού Εικόνα, όχι μόνο το εμφανίζει, αλλά το αποθηκεύει στην εφαρμογή. Αυτό σας δίνει τη δυνατότητα να στείλετε την αίτησή σας χωρίς ξεχωριστό αρχείο γραφικών. Ωστόσο, όπως θα δούμε στη συνέχεια, στο Εικόναμπορείτε επίσης να φορτώσετε εξωτερικά αρχεία γραφικών ενώ εκτελείται η εφαρμογή.

Ας επιστρέψουμε στην εξέταση των ιδιοτήτων του στοιχείου Εικόνα.

Εάν ορίσετε την ιδιότητα αυτόματο μέγεθοςσε αληθής, μετά το μέγεθος του στοιχείου Εικόναθα ταιριάζει αυτόματα στο μέγεθος της εικόνας που τοποθετείται σε αυτό. Εάν το ακίνητο αυτόματο μέγεθοςεγκατεστημένος σε ψευδής, τότε η εικόνα μπορεί να μην ταιριάζει στο στοιχείο ή, αντίθετα, η περιοχή του στοιχείου μπορεί να είναι πολύ μεγαλύτερη από την περιοχή της εικόνας.

Ένα άλλο ακίνητο - Τέντωμασας επιτρέπει να προσαρμόσετε όχι το στοιχείο στο μέγεθος της εικόνας, αλλά την εικόνα στο μέγεθος του στοιχείου. Εγκαθιστώ αυτόματο μέγεθοςσε ψευδής, τεντώστε ή συρρικνώστε το μέγεθος του εξαρτήματος Εικόνακαι εγκαταστήστε Τέντωμασε αληθής. Θα δείτε ότι το σχέδιο θα καταλαμβάνει ολόκληρη την περιοχή του στοιχείου, αλλά επειδή είναι απίθανο να ορίσετε ρεαλιστικά τις διαστάσεις Εικόναακριβώς ανάλογα με το μέγεθος της εικόνας, η εικόνα θα παραμορφωθεί. Εγκαθιστώ Τέντωμασε αληθήςμπορεί να έχει νόημα μόνο για ορισμένα μοτίβα, αλλά όχι για εικόνες. Ιδιοκτησία Τέντωμαδεν επηρεάζει τις μικρογραφίες που δεν μπορούν να αλλάξουν μέγεθος.

ιδιοκτησία - Κέντροεδραιώνομαι αληθής, κεντράρει την εικόνα στην περιοχή Εικόναεάν το μέγεθος του στοιχείου είναι μεγαλύτερο από το μέγεθος της εικόνας.

Σκεφτείτε μια άλλη ιδιοκτησία - Διαφανής(διαφάνεια). Αν ένα Διαφανήςισοδυναμεί αληθής, μετά η εικόνα Εικόναγίνεται διαφανής. Αυτό μπορεί να χρησιμοποιηθεί για την επικάλυψη εικόνων η μία πάνω στην άλλη. Τοποθετήστε το δεύτερο συστατικό στη φόρμα Εικόνακαι ανέβασε μια άλλη εικόνα σε αυτό. Απλώς προσπαθήστε να τραβήξετε μια μικρή γεμάτη εικόνα περιγράμματος. Μπορείτε, για παράδειγμα, να τραβήξετε μια φωτογραφία ανάμεσα σε αυτές που συνήθως τοποθετούνται σε κουμπιά, για παράδειγμα, ένα βέλος (αρχείο.\αρχεία προγράμματος\κοινά αρχεία\borland shared\images\buttons\arrow1l.bmp). Μετακινήστε το δικό σας Εικόναέτσι ώστε να επικαλύπτονται μεταξύ τους και στο επάνω σύνολο συστατικών Διαφανήςίσος αληθής. Θα δείτε ότι η επάνω εικόνα δεν κρύβει πλέον την κάτω. Μία από τις πιθανές εφαρμογές αυτής της ιδιότητας είναι η επιβολή επιγραφών στην εικόνα, που γίνονται με τη μορφή μήτρας bit. Αυτές οι επιγραφές μπορούν να γίνουν χρησιμοποιώντας το ενσωματωμένο πρόγραμμα Delphi Image Editor.

Παρακαλείστε να σημειώσετε ότι το κατάλυμα Διαφανήςισχύει μόνο για πίνακες bit. Ταυτόχρονα, το χρώμα του κάτω αριστερού pixel του bitmap γίνεται διαφανές (δηλαδή, αντικαθίσταται από το χρώμα της εικόνας κάτω από αυτό) από προεπιλογή.

Εξετάσαμε τη φόρτωση μιας εικόνας από ένα αρχείο κατά τη διαδικασία σχεδιασμού. Αλλά ιδιοκτησία εικόνασας επιτρέπει επίσης να οργανώσετε εύκολα την ανταλλαγή με αρχεία γραφικών οποιουδήποτε τύπου κατά την εκτέλεση της εφαρμογής. Για να εξηγήσουμε την τεχνική μιας τέτοιας ανταλλαγής, πρέπει πρώτα να εξετάσουμε λεπτομερέστερα το ακίνητο εικόνα.

Αυτή η ιδιότητα είναι ένα αντικείμενο, το οποίο με τη σειρά του έχει δευτερεύουσες ιδιότητες που δείχνουν προς το αποθηκευμένο αντικείμενο γραφικών. Αν μέσα εικόναο πίνακας bit αποθηκεύεται, επισημαίνεται από την ιδιότητα εικόνα. bitmap. Εάν ένα εικονίδιο είναι αποθηκευμένο, υποδεικνύεται από την ιδιότητα εικόνα. εικόνισμα. Το αποθηκευμένο μετααρχείο υποδεικνύεται από την ιδιοκτησία εικόνα. Μετααρχείο. Τέλος, ένα γραφικό αντικείμενο αυθαίρετου τύπου υποδεικνύεται από την ιδιότητα εικόνα. Γραφικός.

Ενα αντικείμενο εικόνακαι τις ιδιότητες του bitmap, εικόνισμα, Μετααρχείοκαι Γραφικόςέχουν μεθόδους ανάγνωσης και εγγραφής αρχείων LoadFromFileκαι SaveToFile:

διαδικασία LoadFromFile( συνθόνομα αρχείου: σειρά);

διαδικασία SaveToFile( συνθόνομα αρχείου: σειρά);

Για ακίνητα εικόνα. bitmap, εικόνα. εικόνισμακαι εικόνα. Μετααρχείοη μορφή αρχείου πρέπει να ταιριάζει με την κλάση αντικειμένου: bitmap, εικονίδιο, μετα-αρχείο. Κατά την ανάγνωση ενός αρχείου σε μια ιδιότητα εικόνα. Γραφικάτο αρχείο πρέπει να είναι σε μορφή μετα-αρχείου. Και για το ίδιο το αντικείμενο εικόναΟι μέθοδοι ανάγνωσης και εγγραφής προσαρμόζονται αυτόματα στον τύπο αρχείου. Ας το εξηγήσουμε αυτό με ένα παράδειγμα.

Ας δημιουργήσουμε μια εφαρμογή παρόμοια με το παράδειγμα της προβολής αρχείων γραφικών που συζητήθηκε στην Ενότητα 4.2. Για αλλαγή, μπορείτε να οργανώσετε τον έλεγχο του όχι με ένα κουμπί κουμπί, αλλά το μενού. Τοποθετήστε ένα εξάρτημα στη φόρμα Εικόνα. Τεντώστε το ή ορίστε την ιδιότητά του Ευθυγραμμίζωίσος alClientέτσι ώστε να καταλαμβάνει ολόκληρη την περιοχή πελάτη της φόρμας. Σύρετε το στοιχείο διαλόγου ανοιχτού αρχείου γραφικών στη φόρμα OpenPictureDialog(βλ. ενότητα 8.2 ). Τοποθετήστε επίσης το στοιχείο του κύριου μενού στη φόρμα κυρίως μενού(βλ. ενότητα 6.1 ) και ορίστε μια ενότητα σε αυτό - Αρχείο. Στον χειριστή αυτής της ενότητας, γράψτε τη δήλωση

(OpenPictureDialog1.Execute) έπειτα. εικόνα. LoadFromFile(.FileName);

Αυτός ο χειριστής θα καλέσει το παράθυρο διαλόγου για το άνοιγμα ενός αρχείου γραφικών (βλ. Εικόνα 4.4) και θα φορτώσει στο στοιχείο Εικόνα 1μια εικόνα από ένα αρχείο που έχει επιλέξει ο χρήστης (βλ. Εικ.4.5). Επιπλέον, το αρχείο μπορεί να είναι οποιουδήποτε τύπου: bitmap, εικονίδιο ή μετα-αρχείο.

Εικ.4.5Εικόνα σε στοιχείο Εικόναμήτρα bit (α) και εικονόγραμμα (6)



Σε αυτή την εφαρμογή, η μέθοδος LoadFromFileεφαρμόζεται σε Εικόνα 1. εικόνα. Εάν ανοίγουν μόνο αρχεία bitmap, τότε η δήλωση φόρτωσης αρχείου μπορεί να αντικατασταθεί με

εικόνα. bitmap. LoadFromFile(.FileName);

Για εικονογράμματα, θα μπορούσε να χρησιμοποιηθεί ένας τελεστής. εικόνα. εικόνισμα. LoadFromFile(.FileName);

και για τα metafiles, ο χειριστής. εικόνα. μετααρχείο. LoadFromFile(.FileName);

ή. εικόνα. γραφικός. LoadFromFile(.FileName);

Αλλά σε όλες αυτές τις περιπτώσεις, εάν η μορφή αρχείου δεν ταιριάζει με την προβλεπόμενη, θα προκύψει σφάλμα. Η μέθοδος λειτουργεί με τον ίδιο τρόπο. SaveToFileμε τη διαφορά που ίσχυε για εικόναή να εικόνα. Γραφικόςαποθηκεύει μια εικόνα οποιασδήποτε μορφής σε ένα αρχείο. Για παράδειγμα, εάν προσθέσετε ένα παράθυρο διαλόγου στην εφαρμογή σας SavePictureDialog(βλ. ενότητα 8.2 ), εισάγετε την ενότητα Αποθήκευση ως στο μενού και τοποθετήστε τον χειριστή στον χειριστή του

SavePictureDialog1. Εκτέλεση έπειτα. εικόνα. SaveToFile(SavePictureDialog1.FileName);

τότε ο χρήστης θα μπορεί να αποθηκεύσει την εικόνα οποιασδήποτε μορφής σε ένα αρχείο με νέο όνομα. Μόνο σε αυτήν την περίπτωση, για να αποφευχθεί περαιτέρω σύγχυση, η επέκταση του αποθηκευμένου αρχείου πρέπει να εξακολουθεί να αντιστοιχεί στη μορφή της αποθηκευμένης εικόνας.

Το πρόγραμμα θα λειτουργήσει απολύτως πανομοιότυπα για εικόνες οποιασδήποτε μορφής εάν αντικαταστήσετε τον τελεστή αποθήκευσης με

εικόνα. γραφικός. SaveToFile(.FileName);

χρήση ιδιοκτησίας εικόνα. Γραφικός. Και αν γνωρίζετε τη μορφή που είναι αποθηκευμένη στο στοιχείο Εικόναεικόνες, τότε μπορείτε να εφαρμόσετε τη μέθοδο SaveToFileσε ακίνητα εικόνα. bitmap, εικόνα. εικόνισμακαι εικόνα. Μετααρχείο.

Για όλα τα θεωρούμενα αντικείμενα εικόνα, εικόνα. bitmap, εικόνα. εικόνισμακαι εικόνα. ΜετααρχείοΟι μέθοδοι για την εκχώρηση τιμών αντικειμένων ορίζονται:

Assign(Πηγή: TPersistent);

Ωστόσο, για bitmap, εικόνισμακαι Μετααρχείοείναι δυνατή η αντιστοίχιση μόνο των τιμών ομοιογενών αντικειμένων: κατά συνέπεια, πίνακες bit, εικονογράμματα, μετααρχεία. Μια εξαίρεση γίνεται όταν προσπαθείτε να εκχωρήσετε τιμές σε ετερογενή αντικείμενα ЕConvertError. Ενα αντικείμενο εικόνα- καθολική, μπορεί να του αποδοθούν οι τιμές των αντικειμένων οποιασδήποτε από τις άλλες τρεις κατηγορίες. Και το νόημα εικόναμπορεί να εκχωρηθεί μόνο σε ένα αντικείμενο του οποίου ο τύπος ταιριάζει με τον τύπο του αντικειμένου που είναι αποθηκευμένο σε αυτό.

Μέθοδος Αναθέτωμπορεί επίσης να χρησιμοποιηθεί για κοινή χρήση εικόνων με την προσωρινή μνήμη του Προχείρου. Για παράδειγμα, ο χειριστής

Εκχώρηση (Εικόνα1.Εικόνα);

θα τοποθετήσει στο πρόχειρο την εικόνα που είναι αποθηκευμένη Εικόνα 1. Ομοίως, ο χειριστής

γραφικά εφαρμογή εικόνας delphi

Εικόνα 1. εικόνα. Εκχώρηση (Πρόχειρο);

θα διαβάσει μέσα Εικόνα 1εικόνα στο πρόχειρο. Επιπλέον, μπορεί να είναι οποιαδήποτε εικόνα και ακόμη και κείμενο.

Απλώς πρέπει να θυμάστε να εισάγετε στον χειριστή όταν εργάζεστε με το πρόχειρο χρήσειςη ενότητα σας μια αναφορά στην ενότητα clipbrd. Αυτόματα οι Δελφοί δεν παρεμβάλλουν αυτόν τον σύνδεσμο.

Επιστροφή στις ιδιότητες του εξαρτήματος Εικόνα, μπορούμε να σημειώσουμε ένα εγγενές μειονέκτημα της δοκιμαστικής εφαρμογής μας που φαίνεται στο Σχ. 4.5 Κατά τη φόρτωση διαφορετικών εικόνων, το μέγεθος του παραθύρου της εφαρμογής μπορεί να είναι είτε πολύ μικρό και, στη συνέχεια, θα δείτε μόνο μέρος της εικόνας ή πολύ μεγάλο, και τότε η εικόνα θα τοποθετηθεί άσχημα στην επάνω αριστερή γωνία της φόρμας, αφήνοντας πολύ κενό χώρο. Αυτό το μειονέκτημα μπορεί να εξαλειφθεί χρησιμοποιώντας τις ιδιότητες Υψος(ύψος) και Πλάτος(πλάτος) συστατικό Εικόνα. Στο ακίνητο αυτόματο μέγεθοςεγκατεστημένος σε αληθήςδιαστάσεις Εικόναρυθμίζεται αυτόματα στο μέγεθος της μεταφορτωμένης εικόνας. Και αυτές οι διαστάσεις μπορούν να χρησιμοποιηθούν για να αλλάξετε το μέγεθος της φόρμας ανάλογα. Για παράδειγμα, ο παραπάνω κώδικας για τη φόρτωση μιας εικόνας από ένα αρχείο θα μπορούσε να αντικατασταθεί με τον ακόλουθο:

OpenPictureDialog1. Εκτέλεση έπειτα

να αρχίσει. εικόνα. LoadFromFile(.FileName);. Ύψος πελάτη: = Εικόνα 1. Ύψος+10;. Κορυφή:=Φόρμα1. ClientRect. Μπλουζα

+ (Form1.ClientHeight - Image1.Height) div 2;. Πλάτος πελάτη := Εικόνα 1. Πλάτος+10;. Αριστερά:=Φόρμα1. ClientRect. Αριστερά

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

τέλος;

Αυτός ο κωδικός ορίζει το μέγεθος της περιοχής πελάτη της φόρμας ελαφρώς μεγαλύτερο από το μέγεθος του στοιχείου. Εικόνα 1, τα οποία με τη σειρά τους προσαρμόζονται στο μέγεθος της εικόνας λόγω της ιδιότητας αυτόματο μέγεθος. Εφαρμόστε αυτές τις διορθώσεις στην εφαρμογή σας, εκτελέστε την και δείτε ότι η φόρμα προσαρμόζεται αυτόματα στο μέγεθος της μεταφορτωμένης εικόνας

Στοιχείο σχήματος

Συστατικό σχήμαμπορεί να αποδοθεί μόνο υπό όρους στα μέσα εμφάνισης γραφικών πληροφοριών, αφού απλώς αναπαριστά διάφορα γεωμετρικά σχήματα, κατάλληλα σκιασμένα. Η κύρια ιδιότητα αυτού του στοιχείου είναι σχήμα(φόρμα), η οποία μπορεί να λάβει τις ακόλουθες τιμές:

Παραδείγματα αυτών των μορφών φαίνονται στην Εικόνα 4.7

Εικ.4.7Παραδείγματα εξαρτημάτων σχήμα


Μια άλλη βασική ιδιότητα του εξαρτήματος είναι Βούρτσα(βούρτσα). Αυτή η ιδιότητα είναι αντικείμενο τύπου TBrush, το οποίο έχει έναν αριθμό υποιδιοτήτων, ιδίως: χρώμα ( Βούρτσα. χρώμα) και στυλ ( Βούρτσα. στυλ) για να γεμίσετε το σχήμα. Συμπληρώστε σε ορισμένες τιμές στυλμπορείτε να δείτε στο Σχ.4.7 την τρίτη από τις συγκεκριμένες ιδιότητες του στοιχείου σχήμα - στυλό(στυλό) που καθορίζει το στυλ γραμμής. Αυτό το ακίνητο, όπως και το ακίνητο Βούρτσα, έχουν ήδη συζητηθεί στην ενότητα 4.2 . Τα δεδομένα αναφοράς για αυτές τις ιδιότητες βρίσκονται στο κεφάλαιο 10*.

Στοιχείο γραφήματος

Τώρα εξετάστε το στοιχείο διάγραμμα. Αυτό το στοιχείο σας επιτρέπει να δημιουργήσετε διάφορα γραφήματα και γραφήματα που φαίνονται πολύ εντυπωσιακά (Εικ. 4.8). Συστατικό διάγραμμαέχει πολλές ιδιότητες, μεθόδους, γεγονότα, οπότε αν τα λάβετε υπόψη όλα, τότε θα πρέπει να αφιερώσετε ένα ολόκληρο κεφάλαιο σε αυτό. Ως εκ τούτου, περιοριζόμαστε να εξετάσουμε μόνο τα κύρια χαρακτηριστικά διάγραμμα. Και τα υπόλοιπα μπορείτε να τα βρείτε στην ενσωματωμένη βοήθεια των Delphi ή απλώς να τα δοκιμάσετε πειραματιζόμενοι με διαγράμματα.

Συστατικό διάγραμμαείναι ένα δοχείο με αντικείμενα Σειράτύπος TChartSeries- σειρές δεδομένων που χαρακτηρίζονται από διαφορετικά στυλ εμφάνισης. Κάθε στοιχείο μπορεί να περιλαμβάνει πολλές σειρές. Εάν θέλετε να εμφανίσετε ένα γράφημα, τότε κάθε σειρά θα αντιστοιχεί σε μία καμπύλη στο γράφημα. Εάν θέλετε να εμφανίσετε γραφήματα, για ορισμένους τύπους γραφημάτων μπορείτε να επικαλύψετε πολλές διαφορετικές σειρές η μία πάνω στην άλλη, για άλλους (για παράδειγμα, για γραφήματα πίτας) πιθανότατα θα φαίνεται άσχημο. Ωστόσο, σε αυτήν την περίπτωση, μπορείτε να ορίσετε ένα στοιχείο διάγραμμαπολλαπλές σειρές των ίδιων δεδομένων με διαφορετικό τύπο γραφήματος. Στη συνέχεια, ενεργοποιώντας ένα από αυτά σε κάθε στιγμή, μπορείτε να δώσετε στον χρήστη τη δυνατότητα να επιλέξει τον τύπο του γραφήματος που εμφανίζει τα δεδομένα που τον ενδιαφέρουν.

Τοποθετήστε ένα ή δύο (αν θέλετε να αναπαραγάγετε την Εικόνα 4.8) εξαρτήματα διάγραμμαστη φόρμα και δείτε τις ιδιότητες που ανοίγουν στο Object Inspector. Ας εξηγήσουμε μερικά από αυτά.

Καθορίζει εάν ο χρήστης μπορεί να πραγματοποιήσει κύλιση στο παρακολουθούμενο τμήμα του γραφήματος κατά την εκτέλεση κάνοντας κλικ στο δεξί κουμπί του ποντικιού. Πιθανές τιμές: pmΚαμία - η κύλιση είναι απενεργοποιημένη, pmΟριζόντια, pmΚάθετη ή pmΚαι τα δύο - αντίστοιχα, η κύλιση επιτρέπεται μόνο στην οριζόντια κατεύθυνση, μόνο στην κατακόρυφη κατεύθυνση ή και στις δύο κατευθύνσεις.

Επιτρέπει στο χρήστη να αλλάξει την κλίμακα της εικόνας κατά την εκτέλεση κόβοντας τμήματα ενός διαγράμματος ή γραφήματος με τον κέρσορα του ποντικιού (Εικ. 4.8 β παρακάτω δείχνει τη στιγμή προβολής ενός τμήματος του γραφήματος, η οποία παρουσιάζεται εξ ολοκλήρου στην Εικ. 4.8 ένα).

Καθορίζει τον τίτλο του γραφήματος.

Καθορίζει τη λεζάντα για το γράφημα. Κανένα από προεπιλογή. Το κείμενο της ετικέτας ορίζεται από την υποιδιότητα Κείμενο.

Καθορίζει ένα περίγραμμα γύρω από το γράφημα.

Υπόμνημα γραφήματος - μια λίστα συμβόλων.

MarginLeft, MarginRight, MarginTop, MarginBottom

Τιμές περιθωρίου αριστερά, δεξιά, πάνω και κάτω.

BottomAxis, LeftAxis, RightAxis

Αυτές οι ιδιότητες καθορίζουν τα χαρακτηριστικά του κάτω, αριστερού και δεξιού άξονα, αντίστοιχα. Η ρύθμιση αυτών των ιδιοτήτων έχει νόημα για γραφήματα και ορισμένους τύπους γραφημάτων.

LeftWall, BottomWall, BackWall

Αυτές οι ιδιότητες καθορίζουν τα χαρακτηριστικά του αριστερού, του κάτω και του πίσω άκρου της περιοχής τρισδιάστατης απεικόνισης του γραφήματος αντίστοιχα (βλ. Εικ. 4.8 α, κάτω γράφημα).

Λίστα σειρών δεδομένων για εμφάνιση στο στοιχείο.

Ενεργοποιεί ή απενεργοποιεί την προβολή γραφήματος 3D.

Χαρακτηριστικά της τρισδιάστατης απεικόνισης.

Τρισδιάστατη κλίμακα (για την Εικ. 4.8, αυτό είναι το πάχος του γραφήματος και το πλάτος των κορδελών του γραφήματος).


Δίπλα σε πολλές από τις αναφερόμενες ιδιότητες στο Object Inspector, υπάρχουν κουμπιά με έλλειψη που σας επιτρέπουν να καλέσετε τη μία ή την άλλη σελίδα του Επεξεργαστή γραφημάτων - ένα παράθυρο πολλών σελίδων που σας επιτρέπει να ορίσετε όλες τις ιδιότητες των γραφημάτων. Η κλήση του Επεξεργαστή Διαγράμματος είναι επίσης δυνατή κάνοντας διπλό κλικ στο στοιχείο διάγραμμαή κάνοντας δεξί κλικ πάνω του και επιλέγοντας την εντολή Edit Chart από το αναδυόμενο μενού.

Εάν θέλετε να προσπαθήσετε να αναπαράγετε την εφαρμογή που φαίνεται στην Εικόνα 4.8, κάντε διπλό κλικ στο επάνω στοιχείο διάγραμμα. Θα μεταφερθείτε στο παράθυρο Chart Editor (Εικ.4.9) στη σελίδα Chart, η οποία έχει πολλές καρτέλες. Πρώτα απ 'όλα, θα σας ενδιαφέρει η καρτέλα Σειρά σε αυτό. Κάντε κλικ στο κουμπί Προσθήκη - προσθέστε μια σειρά. Θα μεταφερθείτε σε ένα παράθυρο (Εικ. 4.10) όπου μπορείτε να επιλέξετε τον τύπο γραφήματος ή γραφήματος. Σε αυτήν την περίπτωση, επιλέξτε Pie - ένα γράφημα πίτας. Χρησιμοποιώντας την καρτέλα Τίτλοι, μπορείτε να ορίσετε τον τίτλο του διαγράμματος, η καρτέλα Υπόμνημα σάς επιτρέπει να ορίσετε τις επιλογές εμφάνισης για το υπόμνημα του διαγράμματος (λίστα συμβόλων) ή να το αφαιρέσετε εντελώς από την οθόνη, η καρτέλα Πίνακας καθορίζει την εμφάνιση του πίνακα στην οποία εμφανίζεται το διάγραμμα, η καρτέλα 3D σάς επιτρέπει να αλλάξετε την εμφάνιση του διαγράμματός σας: κλίση, διάτμηση, πάχος κ.λπ.

Όταν εργάζεστε με το πρόγραμμα επεξεργασίας γραφημάτων και έχετε επιλέξει έναν τύπο γραφήματος, τα στοιχεία διάγραμμαΗ φόρμα σας εμφανίζει την εμφάνισή της με δεδομένα υπό όρους που εισάγονται σε αυτήν (βλ. Εικ. 4.11).

Εικ.4.10Επιλογή τύπου γραφήματος στο πρόγραμμα επεξεργασίας γραφήματος


Επομένως, μπορείτε να παρατηρήσετε αμέσως το αποτέλεσμα της εφαρμογής διαφόρων επιλογών στην εφαρμογή σας, κάτι που είναι πολύ βολικό.

Η σελίδα Σειρά, η οποία έχει επίσης έναν αριθμό καρτελών, σας επιτρέπει να επιλέξετε πρόσθετα χαρακτηριστικά εμφάνισης για τη σειρά. Ειδικότερα, για ένα γράφημα πίτας στην καρτέλα Μορφή, είναι χρήσιμο να ενεργοποιήσετε την επιλογή Κυκλωμένη πίτα, η οποία θα παρέχει οποιοδήποτε μέγεθος του στοιχείου διάγραμμαεμφανίζοντας το γράφημα ως κύκλο. Στην καρτέλα Σημάδια, τα κουμπιά της ομάδας Στυλ καθορίζουν τι θα γραφτεί στις ετικέτες που σχετίζονται με μεμονωμένα τμήματα γραφήματος: Τιμή - τιμή, Ποσοστό - ποσοστά, Ετικέτα - ονόματα δεδομένων κ.λπ. Στο παράδειγμα της Εικ. 4.8, το κουμπί Ποσοστό είναι ενεργοποιημένο και το πρότυπο ποσοστού ορίζεται στην καρτέλα Γενικά, η οποία διασφαλίζει ότι εμφανίζονται μόνο ακέραιες τιμές.

Μπορείτε, αν θέλετε, να προσθέσετε σε αυτό το στοιχείο διάγραμμαάλλη πανομοιότυπη σειρά κάνοντας κλικ στο κουμπί Κλωνοποίηση στην καρτέλα Σειρά της σελίδας Γράφημα και, στη συνέχεια, για αυτήν τη νέα σειρά, κάντε κλικ στο κουμπί Αλλαγή και επιλέξτε έναν διαφορετικό τύπο γραφήματος, για παράδειγμα, Μπάρα. Φυσικά, δύο διαφορετικοί τύποι γραφημάτων στο ίδιο σχήμα θα φαίνονται άσχημα. Αλλά μπορείτε να απενεργοποιήσετε την ένδειξη αυτής της νέας σειράς στην καρτέλα Σειρά και, στη συνέχεια, να αφήσετε τον χρήστη να επιλέξει έναν ή άλλο τύπο εμφάνισης γραφήματος (θα δείξουμε πώς να το κάνετε αυτό παρακάτω).

Βγείτε από το πρόγραμμα επεξεργασίας διαγραμμάτων, επιλέξτε το κάτω στοιχείο στην εφαρμογή σας διάγραμμακαι επαναλάβετε τις ιδιότητες ρύθμισης για αυτό χρησιμοποιώντας τον Επεξεργαστή Διαγράμματος. Σε αυτήν την περίπτωση, θα χρειαστεί να καθορίσετε δύο σειρές εάν θέλετε να εμφανίσετε δύο καμπύλες στο γράφημα και να επιλέξετε τον τύπο γραμμικού γραφήματος. Επειδή μιλάμε για γραφήματα, μπορείτε να χρησιμοποιήσετε τις καρτέλες Άξονας και Τείχη για να ορίσετε τα χαρακτηριστικά συντεταγμένων των αξόνων και τις τρισδιάστατες όψεις του γραφήματος.

Αυτό ολοκληρώνει το σχεδιασμό της εμφάνισης της εφαρμογής. Απομένει να γράψετε τον κώδικα που καθορίζει τα δεδομένα που θέλετε να εμφανίσετε. Για μια δοκιμαστική εφαρμογή, ας ορίσουμε απλώς ορισμένα σταθερά δεδομένα στο γράφημα πίτας και συναρτήσεις ημιτονοειδούς και συνημιτόνου στα γραφήματα.

Για να ορίσετε τις εμφανιζόμενες τιμές, χρησιμοποιήστε τις μεθόδους σειράς Σειρά. Ας επικεντρωθούμε σε τρεις βασικές μεθόδους.

Μέθοδος Σαφήδιαγράφει τη σειρά από δεδομένα που έχουν εισαχθεί προηγουμένως.

Μέθοδος Προσθήκη:

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

σας επιτρέπει να προσθέσετε ένα νέο σημείο στο γράφημα. Παράμετρος Μια αξίααντιστοιχεί στην προστιθέμενη αξία, παράμετρος Μία ετικέτα- το όνομα που θα εμφανίζεται στο γράφημα και στο υπόμνημα, AColor- χρώμα. Παράμετρος Μία ετικέτα- προαιρετικό, μπορεί να οριστεί κενό: "".

Μέθοδος AddXY:(Const AXValue, AYValue: Double; ALabel: String; AColor: TColor)

σας επιτρέπει να προσθέσετε ένα νέο σημείο στο γράφημα συνάρτησης. Επιλογές AXValueκαι AYValueταιριάζουν με το όρισμα και τη συνάρτηση. Επιλογές Μία ετικέτακαι AColorτο ίδιο όπως στη μέθοδο Προσθήκη.

Έτσι, η διαδικασία για τη φόρτωση δεδομένων στο παράδειγμά μας μπορεί να μοιάζει με:

155;=251;=203;=404;

var:λέξη;

να αρχίσειΣειρά 1 κάνω

να αρχίσει;(A1, "Floor 1", clYellow);(A2, "Floor 2", clBlue);(A3, "Floor 3", clRed);(A4, "Floor 4", clPurple);

τέλος;. Σαφή. Σαφή;

Για i:=0 προς την 100 κάνω

να αρχίσει. AddXY(0.02*Pi*i, sin(0.02*Pi*i), "", clRed);. AddXY (0.02*Pi*i, cos (0.02*Pi*i), "", clBlue);

Εάν έχετε δώσει, για παράδειγμα, για τα δεδομένα που εμφανίζονται στο γράφημα, δύο σειρές Σειρά 1και Σειρά 4ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΥΠΟΙ - Πίτακαι μπαρ, τότε μπορείτε να εισαγάγετε μια διαδικασία που αλλάζει τον τύπο του διαγράμματος κατόπιν αιτήματος του χρήστη. Αυτή η διαδικασία μπορεί να εισαχθεί στην εκδήλωση στο κλικκάποιο κουμπί, σε μια εντολή μενού ή, για παράδειγμα, απλώς στην επεξεργασία ενός κλικ σε ένα στοιχείο διάγραμμα. Για να ανεβάσετε δεδομένα στο Σειρά 4και για να γίνει αυτό το διάγραμμα αόρατο την πρώτη στιγμή, μπορεί κανείς να εισαγάγει στο τέλος της παραπάνω διαδικασίας τις δηλώσεις

Εκχώρηση (Σειρά 1);. ενεργό:=false;

Ο πρώτος από αυτούς τους τελεστές αντικαθιστά τα δεδομένα που τοποθετούνται Σειρά 1, σε σειρά Σειρά 4. Και ο δεύτερος χειριστής κάνει τη σειρά αόρατη Σειρά 4. Η αλλαγή του τύπου του διαγράμματος πραγματοποιείται με τη διαδικασία

ενεργός:= δενΣειρά 1. Ενεργός;. ενεργός:= δενΣειρά 4. ενεργός;

Στο Σχ. 4.8 β μπορείτε να δείτε το αποτέλεσμα της αλλαγής του χρήστη σε άλλο τύπο διαγράμματος.

Για την εμφάνιση γραφικών πληροφοριών στη βιβλιοθήκη των Δελφών, παρέχονται στοιχεία, μια λίστα των οποίων δίνεται στον Πίνακα. 6.

Πίνακας 6

Στοιχεία για την εμφάνιση γραφικών πληροφοριών

Συστατικό Σελίδα Περιγραφή
Εικόνα (εικόνα) Πρόσθετος Χρησιμοποιείται για την εμφάνιση γραφικών
PaintBox (παράθυρο για σχέδιο) Σύστημα Χρησιμοποιείται για τη δημιουργία μιας περιοχής στη φόρμα με την οποία μπορείτε να σχεδιάσετε
DrawGrid (πίνακας σχεδίασης) Πρόσθετος Χρησιμοποιείται για την εμφάνιση δεδομένων μη κειμένου σε σειρές και στήλες
Διάγραμμα (γραφήματα και γραφήματα) Πρόσθετος Το στοιχείο ανήκει στην οικογένεια στοιχείων TeeChart που χρησιμοποιούνται για τη δημιουργία γραφημάτων και γραφημάτων
Chartfx (γραφήματα και γραφήματα) ActiveX Επεξεργαστής γραφημάτων και γραφημάτων
FIBook (σελίδες Excel) ActiveX Εξάρτημα για εισαγωγή και επεξεργασία αριθμητικών πληροφοριών
VtChart (Διαγράμματα) ActiveX Παράθυρο διαγράμματος

Επιπλέον, μπορείτε να εμφανίσετε και να εισαγάγετε γραφικές πληροφορίες στην επιφάνεια οποιουδήποτε στοιχείου παραθύρου που έχει την ιδιότητα Καμβάς- καμβάς.

Πίνακες εικόνων - στοιχεία DrawGrid και StringGrid

Συστατικό DrawGridχρησιμοποιείται για τη δημιουργία πίνακα σε μια εφαρμογή που μπορεί να περιέχει γραφικά. Αυτό το στοιχείο είναι παρόμοιο με το εξάρτημα Πλέγμα χορδών,αφού η τελευταία προέρχεται από πλέγμα έλξης.Επομένως, σε DrawGridυπάρχουν όλες οι ιδιότητες, οι μέθοδοι, τα συμβάντα του στοιχείου Πλέγμα χορδών,εκτός από αυτά που σχετίζονται με το κείμενο, δηλ. εκτός από ακίνητα Κύτταρα, Στήλες, Σειρές, Αντικείμενα.Από αυτή την άποψη, το συστατικό StringGridέχει πολύ περισσότερες δυνατότητες από πλέγμα έλξης,γιατί μπορεί να αποθηκεύσει τόσο εικόνες όσο και κείμενα σε κελιά. Και αν θέλετε να εισάγετε κείμενο σε ορισμένα κελιά πλέγμα έλξης,τότε θα χρειαστεί να χρησιμοποιήσετε μεθόδους για την έξοδο κειμένου στον καμβά για αυτό, κάτι που δεν είναι πολύ βολικό.

Συστατικά DrawGrid και StringGridέχουν έναν καμβά Καμβάς,όπου μπορούν να αναρτηθούν εικόνες.

Υπάρχει μέθοδος ορθό κύτταρο,που επιστρέφει την περιοχή του καμβά που έχει εκχωρηθεί για το δεδομένο κελί. Αυτή η μέθοδος ορίζεται ως

συνάρτηση CellRect(ACol, Arow: Longint): TRect;

όπου ACol και Arow- δείκτες στηλών και σειρών, ξεκινώντας από το 0, στη διασταύρωση των οποίων βρίσκεται το κελί. Η περιοχή που επιστρέφεται από αυτή τη συνάρτηση είναι η περιοχή του καμβά στην οποία μπορεί να σχεδιαστεί η επιθυμητή εικόνα. Για παράδειγμα, ο χειριστής

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

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

αντίγραφα κατά μέθοδο CopyRectστο κελί (1,1) του πίνακα DrawGridlεικόνα από συστατικό bitmap.Αυτό το κελί είναι το δεύτερο από τα αριστερά και το δεύτερο από την κορυφή του πίνακα, επειδή τα ευρετήρια ξεκινούν από το 0. Σημειώστε ότι εάν οι διαστάσεις του κελιού είναι μικρότερες από το μέγεθος της αντιγραμμένης εικόνας, τότε μόνο το επάνω αριστερό μέρος της εικόνας θα εμφανίζονται στο κελί.

Στοιχείο καμβά εικόνα DrawGrid και StringGridόπως στον καμβά οποιουδήποτε στοιχείου, υπόκειται σε διαγραφή όταν το παράθυρο της εφαρμογής επικαλύπτεται από άλλα παράθυρα ή, για παράδειγμα, όταν η εφαρμογή ελαχιστοποιείται.

Ένας βολικός τρόπος για να εισάγετε εικόνες σε κελιά DrawGridείναι η χρήση ενός προγράμματος χειρισμού συμβάντων OnDrawCell.Αυτά τα συμβάντα συμβαίνουν για κάθε κελί του πίνακα τη στιγμή της επανασχεδίασής του. Η κεφαλίδα του χειριστή μοιάζει με αυτό:

διαδικασία TForml.DrawGridlDrawCell(Αποστολέας: TObject;

ACol, Arow: Ακέραιος; Rect: TRect; Κατάσταση: TGridDrawState)

Παράμετρος κατάστασηδείχνει την κατάσταση του κελιού. Είναι ένα σύνολο που μπορεί να περιέχει τα ακόλουθα στοιχεία: gdΕπιλέχτηκε- επισημασμένο κελί gdFocused- το κύτταρο που είναι στο επίκεντρο, gd Διορθώθηκε- ένα κελί σε μια σταθερή περιοχή του πίνακα. Παράμετρος κατάστασημπορεί να χρησιμοποιηθεί για την εμφάνιση κελιών με διαφορετικό τρόπο σε διαφορετικές καταστάσεις.

Στοιχείο σχήματος

Στοιχείο σχήματοςμπορεί να αποδοθεί μόνο υπό όρους στα μέσα εμφάνισης γραφικών πληροφοριών, αφού απλώς αναπαριστά διάφορα γεωμετρικά σχήματα, κατάλληλα σκιασμένα. Η κύρια ιδιότητα αυτού του στοιχείου είναι σχήμα(φόρμα), η οποία μπορεί να λάβει τις ακόλουθες τιμές:

StRectangle - ένα ορθογώνιο?

StSquare - τετράγωνο;

StRoundRect - ένα ορθογώνιο με στρογγυλεμένες γωνίες.

StRouhdSquare - τετράγωνο με στρογγυλεμένες γωνίες.

StEllipse - έλλειψη;

StCircle - ένας κύκλος.

Μια άλλη βασική ιδιότητα του εξαρτήματος είναι Βούρτσα(βούρτσα). Αυτή η ιδιότητα είναι αντικείμενο τύπου πινέλο,έχει έναν αριθμό υπο-ιδιοτήτων, ιδιαίτερα το χρώμα (Βούρτσα. Χρώμα)και στυλ (Στυλ πινέλου)γέμισμα σχήματος. Μπορείτε να δείτε το γέμισμα σε ορισμένες τιμές στυλ στο Σχ. 3.2. Η τρίτη από τις ειδικές ιδιότητες του εξαρτήματος σχήμα- στυλό(στυλό) που καθορίζει το στυλ γραμμής.

Στοιχείο γραφήματος

Τώρα εξετάστε το στοιχείο Διάγραμμα.Αυτό το στοιχείο σας επιτρέπει να δημιουργήσετε διάφορα γραφήματα και γραφήματα που φαίνονται πολύ εντυπωσιακά. Συστατικό διάγραμμαέχει πολλές ιδιότητες, μεθόδους, γεγονότα, οπότε αν τα λάβετε υπόψη όλα, τότε θα πρέπει να αφιερώσετε ένα ολόκληρο κεφάλαιο σε αυτό. Ως εκ τούτου, περιοριζόμαστε να εξετάσουμε μόνο τα κύρια χαρακτηριστικά Διάγραμμα.Και τα υπόλοιπα μπορείτε να τα βρείτε στην ενσωματωμένη βοήθεια των Delphi ή απλώς να τα δοκιμάσετε πειραματιζόμενοι με διαγράμματα.

Συστατικό διάγραμμαείναι ένα δοχείο με αντικείμενα Σειρά- απόγονοι της τάξης TchartSeries.Κάθε τέτοιο αντικείμενο αντιπροσωπεύει μια σειρά δεδομένων που χαρακτηρίζονται από ένα συγκεκριμένο στυλ εμφάνισης: ένα ή άλλο γράφημα ή γράφημα. Κάθε συστατικό διάγραμμαμπορεί να περιλαμβάνει πολλές σειρές. Εάν θέλετε να εμφανίσετε ένα γράφημα, τότε κάθε σειρά θα αντιστοιχεί σε μία καμπύλη στο γράφημα. Εάν θέλετε να εμφανίσετε γραφήματα, για ορισμένους τύπους γραφημάτων μπορείτε να επικαλύψετε πολλές διαφορετικές σειρές η μία πάνω στην άλλη, για άλλους (για παράδειγμα, για γραφήματα πίτας) πιθανότατα θα φαίνεται άσχημο. Ωστόσο, σε αυτήν την περίπτωση, μπορείτε να ορίσετε ένα στοιχείο διάγραμμαπολλαπλές σειρές των ίδιων δεδομένων με διαφορετικό τύπο γραφήματος. Στη συνέχεια, ενεργοποιώντας ένα από αυτά σε κάθε στιγμή, μπορείτε να δώσετε στον χρήστη τη δυνατότητα να επιλέξει τον τύπο του γραφήματος που εμφανίζει τα δεδομένα που τον ενδιαφέρουν.

Τοποθετήστε ένα ή δύο εξαρτήματα διάγραμμαστη φόρμα και δείτε τις ιδιότητες που ανοίγουν στο Object Inspector. Ας εξηγήσουμε μερικά από αυτά.

AllowPanning - καθορίζει την ικανότητα του χρήστη να κάνει κύλιση στο παρατηρούμενο τμήμα του γραφήματος κατά την εκτέλεση πατώντας το δεξί κουμπί του ποντικιού. Πιθανές τιμές: pmΚαμία - η κύλιση είναι απενεργοποιημένη, pmHori/ontal, pm Κάθετη ή pmBoth - αντίστοιχα, η κύλιση επιτρέπεται μόνο στην οριζόντια κατεύθυνση, μόνο στην κατακόρυφη κατεύθυνση ή και στις δύο κατευθύνσεις.

AhowZoom - επιτρέπει στο χρήστη να αλλάξει το ζουμ της εικόνας κατά το χρόνο εκτέλεσης κόβοντας τμήματα ενός γραφήματος ή γραφήματος με τον κέρσορα του ποντικιού. Εάν το πλαίσιο του τμήματος σχεδιάζεται προς τα δεξιά και προς τα κάτω, τότε αυτό το τμήμα τεντώνεται σε ολόκληρο το πεδίο γραφήματος. Και αν το πλαίσιο είναι σχεδιασμένο και προς τα αριστερά, τότε η αρχική κλίμακα αποκαθίσταται.

Τίτλος - ορίζει τον τίτλο του γραφήματος.

Πόδι - ορίζει τη λεζάντα κάτω από το διάγραμμα. Κανένα από προεπιλογή. Το κείμενο της ετικέτας ορίζεται από την υποιδιότητα Κείμενο.

Πλαίσιο - ορίζει το πλαίσιο γύρω από το γράφημα.

Δίπλα σε πολλές από τις αναφερόμενες ιδιότητες στο Object Inspector, υπάρχουν κουμπιά με έλλειψη που σας επιτρέπουν να καλέσετε τη μία ή την άλλη σελίδα του Επεξεργαστή γραφημάτων - ένα παράθυρο πολλών σελίδων που σας επιτρέπει να ορίσετε όλες τις ιδιότητες των γραφημάτων. Η κλήση του Επεξεργαστή Διαγράμματος είναι επίσης δυνατή κάνοντας διπλό κλικ στο στοιχείο διάγραμμαή κάνοντας δεξί κλικ πάνω του και επιλέγοντας την εντολή Edit Chart από το αναδυόμενο μενού.

Κάντε διπλό κλικ στο επάνω στοιχείο Διάγραμμα.Θα μεταφερθείτε στο παράθυρο Επεξεργαστής γραφημάτων στη σελίδα γραφήματος, η οποία έχει πολλές καρτέλες. Πρώτα απ 'όλα, θα σας ενδιαφέρει η καρτέλα Σειρά σε αυτό. Κάντε κλικ στο κουμπί Προσθήκη - προσθέστε μια σειρά. Θα μεταφερθείτε σε ένα παράθυρο όπου μπορείτε να επιλέξετε τον τύπο του γραφήματος ή του γραφήματος. Σε αυτήν την περίπτωση, επιλέξτε Pie - ένα γράφημα πίτας. Χρησιμοποιώντας την καρτέλα Τίτλοι, μπορείτε να ορίσετε τον τίτλο του διαγράμματος, η καρτέλα Υπόμνημα σάς επιτρέπει να ορίσετε τις επιλογές εμφάνισης για το υπόμνημα του διαγράμματος (λίστα συμβόλων) ή να το αφαιρέσετε εντελώς από την οθόνη, η καρτέλα Πίνακας καθορίζει την εμφάνιση του πίνακα στην οποία εμφανίζεται το διάγραμμα, η καρτέλα 3D σάς επιτρέπει να αλλάξετε την εμφάνιση του διαγράμματός σας: κλίση, διάτμηση, πάχος κ.λπ.

Όταν εργάζεστε με το πρόγραμμα επεξεργασίας γραφημάτων και έχετε επιλέξει έναν τύπο γραφήματος, τα στοιχεία διάγραμμαΗ φόρμα σας εμφανίζει την εμφάνισή της με δεδομένα υπό όρους που εισάγονται σε αυτήν. Επομένως, μπορείτε να παρατηρήσετε αμέσως το αποτέλεσμα της εφαρμογής διαφόρων επιλογών στην εφαρμογή σας, κάτι που είναι πολύ βολικό.

Η σελίδα Σειρά, η οποία έχει επίσης έναν αριθμό καρτελών, σας επιτρέπει να επιλέξετε πρόσθετα χαρακτηριστικά εμφάνισης για τη σειρά. Ειδικότερα, για ένα γράφημα πίτας στην καρτέλα Μορφή, είναι χρήσιμο να ενεργοποιήσετε την επιλογή Κυκλωμένη πίτα, η οποία θα διασφαλίσει ότι το γράφημα εμφανίζεται ως κύκλος σε οποιοδήποτε μέγεθος του στοιχείου του γραφήματος. Στην καρτέλα Σημάδια, τα κουμπιά της ομάδας Στυλ καθορίζουν τι θα γραφτεί στις ετικέτες που σχετίζονται με μεμονωμένα τμήματα γραφήματος: Τιμή - τιμή, Ποσοστό - ποσοστά, Ετικέτα - ονόματα δεδομένων κ.λπ.

Μπορείτε, εάν θέλετε, να προσθέσετε μια άλλη πανομοιότυπη σειρά σε αυτό το στοιχείο γραφήματος κάνοντας κλικ στο κουμπί Κλώνος στην καρτέλα Σειρά της σελίδας γραφήματος και, στη συνέχεια, για αυτήν τη νέα σειρά, κάντε κλικ στο κουμπί Αλλαγή και επιλέξτε έναν διαφορετικό τύπο γραφήματος, όπως Γραμμή .

Κλείστε το πρόγραμμα επεξεργασίας γραφημάτων, επιλέξτε το χαμηλότερο στοιχείο γραφήματος στην εφαρμογή σας και επαναλάβετε τις ιδιότητες ρύθμισης για αυτό χρησιμοποιώντας το πρόγραμμα επεξεργασίας γραφημάτων. Σε αυτήν την περίπτωση, θα χρειαστεί να καθορίσετε δύο σειρές εάν θέλετε να εμφανίσετε δύο καμπύλες στο γράφημα και να επιλέξετε τον τύπο γραμμικού γραφήματος. Επειδή μιλάμε για γραφήματα, μπορείτε να χρησιμοποιήσετε τις καρτέλες Άξονας και Τείχη για να ορίσετε τα χαρακτηριστικά συντεταγμένων των αξόνων και τις τρισδιάστατες όψεις του γραφήματος.

Αυτό ολοκληρώνει το σχεδιασμό της εμφάνισης της εφαρμογής. Απομένει να γράψετε τον κώδικα που καθορίζει τα δεδομένα που θέλετε να εμφανίσετε. Για τη δοκιμαστική εφαρμογή, ας ορίσουμε μερικά σταθερά δεδομένα στο γράφημα πίτας και μερικές συναρτήσεις στα γραφήματα.

Για να ορίσετε τις εμφανιζόμενες τιμές, χρησιμοποιήστε τις μεθόδους Σειρά. Ας επικεντρωθούμε σε τρεις βασικές μεθόδους.

Μέθοδος Σαφήδιαγράφει τη σειρά από δεδομένα που έχουν εισαχθεί προηγουμένως.

Μέθοδος Προσθήκη:

Προσθήκη(Const AValue:Double; Const ALabel:String; AColor:TCcolor)

σας επιτρέπει να προσθέσετε ένα νέο σημείο στο γράφημα. Παράμετρος Μια αξίααντιστοιχεί στην προστιθέμενη αξία, παράμετρος Μία ετικέτα- μια ετικέτα που θα εμφανίζεται στο γράφημα και στο υπόμνημα, AColor- χρώμα. Παράμετρος Μία ετικέτα- προαιρετικό, μπορεί να οριστεί κενό: ‘ ’. Μέθοδος AddXY:

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

σας επιτρέπει να προσθέσετε ένα νέο σημείο στο γράφημα συνάρτησης. Επιλογές AXValueκαι AYValueταιριάζουν με το όρισμα και τη συνάρτηση. Επιλογές ALabel και AColorτο ίδιο όπως στη μέθοδο Προσθήκη.

Έτσι, η διαδικασία για τη φόρτωση δεδομένων στο παράδειγμά μας μπορεί να μοιάζει με:

constAl=155; A2=251; A3=203; A4=404; var i:word; να αρχίσει

Ξεκινήστε με το Seriesl

Add(Al"Shop l",clYellow);

Προσθήκη(A2"Design 2",clBlue);

Προσθήκη(A3"Όροφος 3",clRed);

Add(A4,"Design 4",clPurple); τέλος;

Series2.Clear; SeriesS.Clear; για i:=0 έως 100 ξεκινούν

Series2.AddXY(0.02*Pi*i,sin(0.02*Pi*i)

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

ClRed); ,clBlue);

χειριστές Σαφήχρειάζονται εάν πρόκειται να ενημερώσετε τα δεδομένα κατά τη λειτουργία της εφαρμογής.

Αυτό ολοκληρώνει την εισαγωγή μας στο στοιχείο. Διάγραμμα.Είναι αλήθεια ότι εξετάσαμε μόνο ένα μικρό μέρος των δυνατοτήτων του.

mob_info