Εξάρτημα για την εμφάνιση γραφικών πληροφοριών στους delphi. Παρουσίαση με θέμα «Εμφάνιση γραφικών πληροφοριών στους Δελφούς». Λίστα εξαρτημάτων για την εμφάνιση γραφικών πληροφοριών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BsSolid – συμπαγής χρωματισμός

BsClear – έλλειψη σκίασης

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

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

BsDiagCross – λοξό κελί

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

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

BsCross – κλουβί

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

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

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

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

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

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

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

PenPos: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 pixel στη μέση του σχήματος.

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).

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

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

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

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

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

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

Canvas.Font.Color:=club;

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

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

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

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

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

    Bmp (bitmap, bitmap);

    Wmf, .emf (metafile);

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

Βασικός ιδιότητες :

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

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

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

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

Βασικός μεθόδουςτάξη Εικόνα:

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

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

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

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

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

Με το PaintBox1.Canvas do

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

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

τέλος;

ΣυστατικόBitBtnκουμπί ράστερ

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

Εργασία Νο. 1

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

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

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

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

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

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

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

Εργασία Νο. 2

Δημιουργήστε μια εφαρμογή που σας επιτρέπει να τοποθετείτε τυχαία πολλές ετικέτες (για παράδειγμα, τη λέξη "Hurray!") σε ένα στοιχείο εικόνας. Για να το εφαρμόσετε αυτό, χρησιμοποιήστε τη γεννήτρια τυχαίων αριθμών 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, σχεδιάζεται ένα τετράγωνο με πλευρά Χ στην Εικόνα1 και ένα ορθογώνιο τρίγωνο με ίσα σκέλη, καθένα από τα οποία έχει μήκος Χ, σχεδιάζεται στην Εικόνα2.

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

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

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

Εργασία Νο. 18

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

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

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

form1.Color:= ColorBox1.Colors;

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

Πίνακας 6

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

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

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

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

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

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

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

συνάρτηση 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 - κύκλος.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

const Al=155; A2=251; A3=203; A4=404; var i:word; αρχίζουν

Ξεκινήστε με τη σειρά

Add(Al"Workshop l",clYellow);

Add(A2"Workshop 2",clBlue);

Add(A3"Workshop 3",clRed);

Add(A4"Workshop 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);

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

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


"Εμφάνιση γραφικών πληροφοριών στους Δελφούς" Περίληψη θέματος: 1.C S pppp oooo ssss ooooo μbbb εεε μέσα σε εεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεεε, h tskst iiiii iiiii σε iv στο D D D D eeee llll pppp hhhh iiii O O tttt ooo bbbb rrrrr aaaa zhzhzh eee nnnn iiii eee k k k aaaa rrrrr tttt iiii nnnnn ooooo kkkk O tttt, aaaa zhzhzh eee nnnn iiii ii eee g g y g eee ooooo mmmm eee ttt rrrr iiii hhchh eee ssss kkkk iiii xxxxx ffff iiii yyyy uuuu rrrrr p pooooo ssss ttt rrrrr oooOo eee nnnn iiii eee yy g g rrrrr aaaa ffff iiii kkkk ooooo vvv i και


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


2.Εμφάνιση 2.Εμφάνιση εικόνων. Η εμφάνιση εικόνων χρησιμοποιώντας το στοιχείο Εικόνα που εξετάσαμε στο LLC DDDDD DDDD LLC Yiyy και και και το ZZZZ P P P P PRRRDDDDDDDDDDDDD IIII XXXX T T T T T T T T T TOTEMMM .... Εδώ θα εξετάσουμε ένα παράδειγμα υλοποίησης απλούστερο κινούμενο σχέδιοαλλάζοντας περιοδικά την εικόνα που εμφανίζεται στα στοιχεία της εικόνας. PPPP eee rrrrr eee yyyytttoeee nnnn aaaaaaaaaaaaaaaaaaaaaaaaaa






3.Εμφάνιση 3.Εμφάνιση γεωμετρικών σχημάτων. ΚΑΙ Από πολλά στοιχεία Shape μπορείτε να δημιουργήσετε απλά σχέδια. P Αλλάζοντας προγραμματικά τη θέση (.Left,.Top), το μέγεθος (.Width,.. Height) και το χρώμα (Brush.Color) των στοιχείων Shape σε ένα σχέδιο, μπορείτε να εφαρμόσετε στοιχεία της απλούστερης κινούμενης εικόνας. R R R R aaaa sssssss mmmm ooooh tttt rrrrr eee tttt yee p p p p rrrrr iii mmmm eee rrrrr....


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










Γραφήματα και διαγράμματα. Τα δεδομένα που εμφανίζονται συνήθως μεταβιβάζονται στο γράφημα μέσω προγραμματισμού, για παράδειγμα: Series1.Clear; (διαγραφή σειράς) για i:=1 έως N do Series1.addxy(i, A[i], clGreen); Τιμή άξονα Χ Τιμή άξονα Υ Ετικέτα άξονα Χ Χρώμα δεδομένων στο γράφημα PP aaaa ssssssssss mmmm οοοο tttt rrrrr eee tttt yee p p p p prrrr iiii mmmm eee rrrrr p p p poooo ssss ttt rrrrr oooooo eee φφφ ιιι κκκκ αααα f f f f uuuu nnnn kkkk tsstst iiiiii y y y y = = = = S S S S iiii nnnn ((((xxxx))))


Επόμενο: Εργαστηριακή εργασία """ OOOO tttt oooo bbbb rrrrr aaaa zhzhzh eee nnnn iiii eee k k k aaaa rrrrr tttt iiii nnnn ooooo kkkk i i i i yyyy eee oooo mmmm eeeech iiiih ii xxxx ffff iiii yyyy uuuu rrrrr, και και και xxxx a a a a a nnnn iiii mmmm aaaa tsstst iiii yayayaya """"...Εργασία: 1) Αναπτύξτε μια εφαρμογή για την εκτέλεση απλών κινούμενων εικόνων αλλάζοντας περιοδικά την εμφανιζόμενη εικόνα στα στοιχεία της εικόνας. (Ο αριθμός των εικόνων είναι τουλάχιστον τρεις, επιλέξτε τις φωτογραφίες μόνοι σας).




Περαιτέρω: Εργαστηριακή εργασία "" "" "PPP OOOO SSSS TTTTTT RRRR LLODNNNNNNNNNEIIEE IIEE Grrrr AAAAA FFF III KKKK OOO VVVV και IIIA AAAAA GGG RRRR AAAAA MMMMMM" "" """ "" "" "" "" "" ..1)Εργασία: M τροποποιήστε την εφαρμογή από εργαστηριακές εργασίες 9 (Εμφάνιση δεδομένων σε πίνακα). Προσθέστε τη δυνατότητα εμφάνισης ορισμένων δεδομένων από έναν πίνακα σε ιστόγραμμα ή γράφημα πίτας. 2) Κατασκευάστε μια γραφική παράσταση της δεδομένης συνάρτησης.

Visual Component Library (VCL) Η Delphi μας παρέχει τα ακόλουθα οπτικά στοιχεία για την εμφάνιση γραφικών πληροφοριών: Εικόνα (εικόνα), PaintBox (παράθυρο για σχέδιο), DrawGrid (πίνακας εικόνων), Γράφημα (γραφήματα και γραφήματα), Animate (βίντεο κλιπ εξόδου ), καθώς και Φόρμα. Αυτά τα στοιχεία έχουν μια ιδιότητα Canvas (που συζητήθηκε παραπάνω) που παρέχει πρόσβαση σε κάθε pixel. Φυσικά, δεν χρειάζεται να σχεδιάζετε pixel-pixel για να εργαστείτε με γραφικά στους Delphi· το σύστημα Delphi παρέχει ισχυρά εργαλεία για εργασία με γραφικά.

Ας ρίξουμε μια πιο προσεκτική ματιά στα παραπάνω στοιχεία:

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

Είναι αντικείμενο της κλάσης TImage. Χρησιμοποιείται για την εμφάνιση εικόνων που διαβάζονται από αρχεία γραφικών. Από προεπιλογή, εμφανίζει εικόνες που παρουσιάζονται σε μορφή *.bmp στην επιφάνεια της φόρμας. Για να εξάγετε εικόνες σε μορφή jpg, πρέπει να συμπεριλάβετε τη μονάδα JPEG στην οδηγία χρήσεων. Βρίσκεται στην καρτέλα Πρόσθετα της Παλέτας Στοιχείων.

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

Εικόνα 9 - Στοιχείο εικόνας στη φόρμα

Για να ανοίξετε ένα παράθυρο διαλόγου για την επιλογή της επιθυμητής εικόνας, πρέπει να κάνετε τα εξής χρησιμοποιώντας το Object Inspector. Για να το κάνετε αυτό, βρείτε την ιδιότητα Picture και κάντε κλικ στις τρεις τελείες στα αριστερά της. Ανοίγει το παράθυρο Picture Editor και σε αυτό επιλέξτε Load, στο παράθυρο που ανοίγει επιλέξτε το αρχείο εικόνας.

Αυτό μπορεί επίσης να γίνει μέσω προγραμματισμού καλώντας τη μέθοδο LoadFromFile της ιδιότητας Picture:

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

όπου name_pic.jpeg είναι το όνομα του αρχείου.

Πίνακας 8 - Βασικές ιδιότητες του στοιχείου Image

Ιδιοκτησία

Περιγραφή

Η εικόνα εμφανίζεται στο πεδίο στοιχείου

Διαστάσεις εξαρτημάτων. Εάν αυτές οι διαστάσεις είναι μικρότερες από το μέγεθος της εικόνας και οι ιδιότητες Stretch, AutoSize και Proportional έχουν οριστεί σε False, τότε εμφανίζεται μέρος της εικόνας

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

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

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

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

Επιφάνεια για εμφάνιση γραφικών

Καθορίζει ένα διαφανές χρώμα φόντου εικόνας

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

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

Εικόνα 10 - Παράθυρο προγράμματος πριν από την εκκίνηση

Δημιουργία έργου:

  • 1. Δημιουργήστε ένα φάκελο για τα αρχεία προγράμματος και ξεκινήστε το ολοκληρωμένο περιβάλλον ανάπτυξης Delphi.
  • 2. Προσθέστε στοιχεία στη φόρμα:

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

  • · ScrollBox Είναι απαραίτητο όταν σε λειτουργία πλήρους μεγέθους η εικόνα θα υπερβαίνει την Εικόνα. Εκχωρούμε την τιμή alClient στην ιδιότητά του Aling έτσι ώστε οι διαστάσεις του να αλλάζουν ανάλογα με το μέγεθος του παραθύρου. Και τοποθετήστε το στοιχείο Εικόνα σε αυτό.
  • · Θα προσθέσουμε επίσης στοιχεία διαλόγου SavePictureDialog και OpenPictureDialog, σχεδιασμένα για αποθήκευση και άνοιγμα εικόνων. Χρειαζόμαστε το πρώτο για να αντιγράψουμε την εικόνα στον επιλεγμένο κατάλογο, το δεύτερο - για να καλέσουμε το άνοιγμα διαλόγου αρχείο γραφικών. Βρίσκονται στη σελίδα διαλόγων της παλέτας στοιχείων. Από αυτή τη σελίδα χρειαζόμαστε επίσης το στοιχείο PrintDialog, το οποίο πρέπει να καλέσουμε το παράθυρο διαλόγου για την επιλογή ενός εκτυπωτή για εκτύπωση.
  • · Προσθέστε το MainMenu για να προσθέσετε ένα κύριο μενού στο πρόγραμμα και το XPManifest για πιο πολύχρωμο σχέδιο
  • · Πρέπει επίσης να αποθηκεύσουμε τα ονόματα των εικόνων που βρίσκονται στον κατάλογο εργασίας κάπου. Το στοιχείο ListBox είναι βολικό για αυτούς τους σκοπούς· μπορεί να κρυφτεί κατά την επεξεργασία του συμβάντος Δημιουργία του Form1.
  • · Για να τοποθετήσουμε κουμπιά πλοήγησης και να εργαστούμε άνετα μαζί τους, θα προσθέσουμε ένα πλαίσιο Veil, στο οποίο θα τοποθετήσουμε αυτά τα κουμπιά (Προηγούμενη εικόνα, Επόμενη εικόνα, Αληθινό μέγεθος, Προσαρμογή στο μέγεθος, Διαγραφή, Αντιγραφή, Εκτύπωση, Επεξεργασία). Το SpeedButton επιλέγεται ως στοιχείο για αυτούς.
  • · Προσθέστε ένα χρονόμετρο για να πιάσετε τα πλήκτρα "Αριστερά" (προηγούμενη εικόνα), "Δεξιά" (επόμενη εικόνα) και το πλήκτρο "Del" (διαγραφή εικόνας).
  • · Και ένα ακόμη στοιχείο - το ProgressBar, το οποίο εμφανίζει τη διαδικασία φόρτωσης μεγάλων αρχείων *.Jpg.
  • 3. Γράψτε κώδικα για την επεξεργασία του συμβάντος κλικ στο κουμπί (Προηγούμενη εικόνα, Επόμενη εικόνα, Αληθινό μέγεθος, Προσαρμογή στο μέγεθος, Διαγραφή, Αντιγραφή σε, Εκτύπωση, Επεξεργασία). Γράψτε κώδικα για την επεξεργασία του συμβάντος κλικ στα στοιχεία του μενού MainMenu (Έξοδος, Άνοιγμα, Κλείσιμο, Δημιουργία).
  • 4. Ορίστε τις αρχικές ρυθμίσεις για τη δημιουργία της φόρμας. Κάντε διπλό κλικ ελεύθερος χώροςσχηματίστε και γράψτε τη διαδικασία κώδικα διαδικασίας TForm1.FormCreate(Sender:TObject), δείτε τον κώδικα της ενότητας στο Παράρτημα 1.
  • 5. Γράψτε διαδικασίες του ακόλουθου τύπου:

διαδικασία FindFileInFolder(διαδρομή, ext: συμβολοσειρά);

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

Η πλήρης λίστα του κωδικού της μονάδας προγράμματος βρίσκεται στο Παράρτημα 1 (Λίστα Προγράμματος 3).

  • 1. Καταχωρίστε τις δυνατότητες του στοιχείου Image.
  • 2. Ποια κλάση αποτελεί αντικείμενο το στοιχείο Image;
  • 3. 3. Τι τύπο αρχείου υποστηρίζει το στοιχείο Image από προεπιλογή;
  • 4. 4. Καταχωρίστε τις κύριες ιδιότητες του στοιχείου Image.
  • 5. 5. Ποια ιδιότητα αποθηκεύει την εικόνα του στοιχείου Image;

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

1 διαφάνεια

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

2 διαφάνεια

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

Οπτικό μέσο Προγραμματισμός Delphi, όπως τα Windows, υποστηρίζει GUIχρήστη (GDI – Graphic Delphi Interface). Στους Δελφούς, υπάρχουν δύο τρόποι εμφάνισης γραφικών πληροφοριών: εμφάνιση προπαρασκευασμένων εικόνων. αντλώντας από το πρόγραμμα.

3 διαφάνεια

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

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

4 διαφάνεια

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

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

5 διαφάνεια

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

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

6 διαφάνεια

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

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

7 διαφάνεια

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

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

8 διαφάνεια

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

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

Διαφάνεια 9

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

Μέθοδοι του αντικειμένου Canvas MoveTo(x,y: ακέραιος) – μετακινεί το στυλό από την τρέχουσα θέση σε ένα σημείο με τις καθορισμένες συντεταγμένες x, y χωρίς να σχεδιάσει γραμμή. LineTo(x.y: ακέραιος) - μετακινεί το στυλό από την τρέχουσα θέση σε ένα σημείο με τις δεδομένες συντεταγμένες 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: ακέραιος)) – γεμίζει το ορθογώνιο με το χρώμα που καθορίζεται στο τρέχον Brush. Χρησιμοποιεί τη συνάρτηση Rect, η οποία αντιπροσωπεύει ένα ορθογώνιο στις δεδομένες συντεταγμένες.

11 διαφάνεια

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

FloodFill(x,y: ακέραιος; Χρώμα: TColor; FillStyle: TFillStyle) – γέμισμα με το τρέχον χρώμα που καθορίζεται στην ιδιότητα Brush: με FillStyle=fsBorder – μια κλειστή περιοχή από το σημείο με συντεταγμένες x, y έως το περίγραμμα που ορίζεται από το Color ; με 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.




Μπλουζα