Το αντικείμενο Canvas του HTML DOM
Το στοιχείο <canvas> ορίζει την περιοχή bitmap της σελίδας HTML.
Το API Canvas επιτρέπει στο JavaScript να σχεδιάσει γραφήματα στο πίνακα.
Το API Canvas μπορεί να σχεδιάσει σχήματα, γραμμές, καμπύλες, πλαίσια, κείμενο και εικόνες, καθώς και χρώματα, γυροσκόπηση, διαφάνεια και άλλες δράσεις pixel.
Προσθήκη Canvas στο HTML
Μπορείτε να προσθέσετε στοιχείο canvas σε οποιαδήποτε θέση της σελίδας HTML χρησιμοποιώντας την ετικέτα <canvas>:
Παράδειγμα
<canvas id="myCanvas" width="300" height="150"></canvas>
Πώς να προσέξετε το στοιχείο Canvas
Μπορείτε να χρησιμοποιήσετε τη μέθοδο HTML DOM getElementById() για να προσέξετε το στοιχείο <canvas>:
const myCanvas = document.getElementById("myCanvas");
Για να σχεδιάσετε στον καμβά, πρέπει να δημιουργήσετε ένα αντικείμενο 2D περιβάλλοντος γραφιδίου:
const ctx = myCanvas.getContext("2d");
Σημειώσεις
Το στοιχείο HTML <canvas> δεν έχει λειτουργίες γραφιδίου.
Πρέπει να χρησιμοποιήσετε το JavaScript για να σχεδιάσετε οποιοδήποτε σχήμα.
Η μεθοδος getContext() επιστρέφει ένα αντικείμενο που έχει εργαλεία γραφιδίου (μεθόδους).
Σχεδιασμός στον καμβά
Μετά τη δημιουργία του αντικειμένου 2D περιβάλλοντος γραφιδίου, μπορείτε να σχεδιάσετε στον καμβά.
Η μεθοδος fillRect() έχει σχεδιαστεί για να σχεδιάσει ένα μαύρο δομικό παραθύρο, το οποίο βρίσκεται στη θέση 20,20. Το παραθύρο έχει πλάτος 150 pixel και ύψος 100 pixel:
Παράδειγμα
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillRect(20, 20, 150, 100);
Χρησιμοποιώντας χρώμα
Η ιδιότητα fillStyle καθορίζει το χρώμα γεμίσματος του αντικειμένου γραφιδίου:
Παράδειγμα
const myCanvas = document.getElementById("myCanvas"); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Μπορείτε επίσης να χρησιμοποιήσετε το document.createElement() για να δημιουργήσετε ένα νέο στοιχείο <canvas> και να το προσθέσετε στην υπάρχουσα σελίδα HTML:
Παράδειγμα
const myCanvas = document.createElement("canvas"); document.body.appendChild(myCanvas); const ctx = myCanvas.getContext("2d"); ctx.fillStyle = "red"; ctx.fillRect(20, 20, 150, 100);
Δρομολόγιο
Συχνές μεθόδους για την καλλιγραφία στο καμβά είναι:
- Έναρξη διαδρομής - beginPath()
- Μετακίνηση σε έναν σημείο - moveTo()
- Σχεδίαση στο μοτίβο - lineTo()
- Διατύπωση διαδρομής - stroke()
Παράδειγμα
const canvas = document.getElementById("myCanvas"); const ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(20, 20); ctx.lineTo(20, 100); ctx.lineTo(70, 100); ctx.stroke();
Χρώμα, στυλ και σκιή
Αιτίες | Περιγραφή |
---|---|
fillStyle | Ρρογραμματισμός ή επιστροφή του χρώματος, της διαφάνειας ή του μοτίβου που χρησιμοποιείται για την γεμισμό του σχεδίου. |
strokeStyle | Ρρογραμματισμός ή επιστροφή του χρώματος, του χρώματος της διαφάνειας ή του μοτίβου που χρησιμοποιείται για το στίγμα. |
shadowColor | Ρρογραμματισμός ή επιστροφή του χρώματος που χρησιμοποιείται για τη σκιή. |
shadowBlur | Ρρογραμματισμός ή επιστροφή του επίπεδου σκιής της διαφάνειας. |
shadowOffsetX | Ρροσθήκη ή επιστροφή της οριζόντιας απόστασης της σκιάς από τη μορφή. |
shadowOffsetY | Ρροσθήκη ή επιστροφή της κάθετου απόστασης της σκιάς από τη μορφή. |
Μέθοδος | Περιγραφή |
---|---|
createLinearGradient() | Δημιουργία γραμμικής κλίμακας (για το περιεχόμενο του καanvas). |
createPattern() | Επανάληψη του καθορισμένου στοιχείου στην καθορισμένη κατεύθυνση. |
createRadialGradient() | Δημιουργία ακτινικής/κυκλικής κλίμακας (για το περιεχόμενο του καanvas). |
addColorStop() | Καθορίζει τις θέσεις των χρωμάτων και τις θέσεις σταδιακής διακοπής της διαφάνειας του αντικειμένου της κλίμακας. |
Στυλ γραμμής
Αιτίες | Περιγραφή |
---|---|
lineCap | Ρροσθήκη ή επιστροφή του στυλ κεφαλίδας γραμμής. |
lineJoin | Ρροσθήκη ή επιστροφή του τύπου γωνίας που δημιουργείται όταν δύο γραμμές συναντούνται. |
lineWidth | Ρροσθήκη ή επιστροφή της τρέχουσας πλάθους γραμμής. |
miterLimit | Ρροσθήκη ή επιστροφή της μέγιστης μήκους της διεύθυνσης της γωνίας. |
Ορθογώνιο
Μέθοδος | Περιγραφή |
---|---|
rect() | Δημιουργία ορθογώνιου. |
fillRect() | Σκίτσιο ορθογώνιου (με πλήρωση). |
strokeRect() | Σκίτσιο ορθογώνιου (χωρίς πλήρωση). |
clearRect() | Καθαρισμός των καθορισμένων εικονοστοιχείων μέσα σε κύριο τετράγωνο. |
Δρομολόγιο
Μέθοδος | Περιγραφή |
---|---|
fill() | Πληρωμή του τρέχοντος γραφικού (δρομολογίου). |
stroke() | Επιτύχετε στην πραγματικότητα την απόδοση του δρομολογίου που ορίσατε. |
beginPath() | Έναρξη δρομολογίου ή επαναφορά του τρέχοντος δρομολογίου. |
moveTo() | Μετακίνηση του δρομολογίου σε καθορισμένο σημείο του καanvas χωρίς να δημιουργεί γραμμή. |
closePath() | Δημιουργία δρομολογίου που επιστρέφει στο σημείο εκκίνησης. |
lineTo() | Προσθήκη νέου σημείου και δημιουργία γραμμής από αυτό το σημείο στο τελευταίο καθορισμένο σημείο του καanvas. |
clip() | Απόκοπψη οποιασδήποτε μορφής και μεγέθους περιοχής από το αρχικό καanvas. |
quadraticCurveTo() | Δημιουργία δυοπλευρικής καμπύλης. |
bezierCurveTo() | Δημιουργία τριγωνικής καμπύλης. |
arc() | Δημιουργία αριθμού/καμπύλης (για τη δημιουργία κύκλου ή ενός τμήματος κύκλου). |
arcTo() | Δημιουργία αριθμού/καμπύλης μεταξύ δύο ακμών. |
isPointInPath() | Επιστροφή true αν ο καθορισμένος σημείο βρίσκεται στο τρέχοντα δρομολόγιο, αλλιώς επιστροφή false. |
Μετασχηματισμός
Μέθοδος | Περιγραφή |
---|---|
scale() | Αυξάνηση ή μείωση του τρέχοντος γραφικού. |
rotate() | Γύρισμα του τρέχοντος γραφικού. |
translate() | Νέα αναπαράσταση της θέσης (0,0) στο καanvas. |
transform() | Αντικατάσταση του τρέχοντος μετασχηματισμού της απόδοσης. |
setTransform() | Αναπαράσταση του τρέχοντος μετασχηματισμού σε μονάδα πλέγματος. Στη συνέχεια εκτελέστε transform(). |
Κείμενο
Αιτίες | Περιγραφή |
---|---|
font | Ρροσθήκη ή επιστροφή των τρέχουσας ιδιοτήτων γραμματοσειράς του κειμένου. |
textAlign | Ρροσθήκη ή επιστροφή της τρέχουσας τάσης της γραμματοσειράς του κειμένου. |
textBaseline | Ρυθμίζει ή επιστρέφει την τρέχουσα γραμμή βασισμένη στην γραφή του κειμένου. |
Μέθοδος | Περιγραφή |
---|---|
fillText() | Χρωματισμός κειμένου με γεμισμό στο canvas. |
strokeText() | Χρωματισμός κειμένου στο canvas (χωρίς γεμισμό). |
measureText() | Επιστρέφει το αντικείμενο που περιέχει το πλάτος του κειμένου. |
Χρωματισμός εικόνας
Μέθοδος | Περιγραφή |
---|---|
drawImage() | Χρωματισμός εικόνας, canvas ή βίντεο στο canvas. |
Χειρισμός εικόνων
Αιτίες | Περιγραφή |
---|---|
width | Επιστρέφει το πλάτος του αντικειμένου ImageData. |
height | Επιστρέφει το ύψος του αντικειμένου ImageData. |
data | Επιστρέφει το αντικείμενο που περιέχει τα δεδομένα της εικόνας του καθορισμένου αντικειμένου ImageData. |
Μέθοδος | Περιγραφή |
---|---|
createImageData() | Δημιουργεί ένα νέο κενό αντικείμενο ImageData. |
getImageData() | Επιστρέφει το αντικείμενο ImageData, το οποίο αντιγράφει τα δεδομένα των εικόνων από το καθορισμένο ορθογώνιο του canvas. |
putImageData() | Ανακαλεί τα δεδομένα εικόνας (από το καθορισμένο αντικείμενο ImageData) πίσω στο canvas. |
Σύνθεση
Αιτίες | Περιγραφή |
---|---|
globalAlpha | Ρυθμίζει ή επιστρέφει την τρέχουσα τιμή alpha ή διαφάνεια της ζωγραφικής. |
globalCompositeOperation | Ρυθμίζει ή επιστρέφει τον τρόπο που θα ζωγραφιστεί η νέα εικόνα πάνω στην υφιστάμενη εικόνα. |
Άλλα
Μέθοδος | Περιγραφή |
---|---|
save() | Αποθηκεύει την τρέχουσα κατάσταση του περιβάλλοντος. |
restore() | Επιστρέφει την προηγούμενη κατάσταση του δρόμου και των ιδιοτήτων. |
createEvent() | |
getContext() | |
toDataURL() |
Σχετικές σελίδες
Εκμάθηση HTML:Canvas HTML5
Εκμάθηση HTML εικόνας:Εκμάθηση HTML Canvas
Εγχειρίδιο HTML:Ετικέτα <canvas> του HTML