API του Canvas
- Προηγούμενη σελίδα Στυλ HTML
- Επόμενη σελίδα Console API
Το στοιχείο <canvas> ορίζει την περιοχή bitmap σε μια σελίδα HTML.
Η API του Canvas επιτρέπει στο JavaScript να σχεδιάσει γραφήματα στο καμβά.
Η API του Canvas μπορεί να σχεδιάσει σχήματα, γραμμές, καμπύλες, κουτί, κείμενο και εικόνες, καθώς και χρώματα, γυρισμό, διαφάνεια και άλλες επιλογές像素.
Προσθήκη 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();
Χρώμα, μοτίβο και σκιά
Αtribούς | Περιγραφή |
---|---|
fillStyle | Θέτει ή επιστρέφει το χρώμα, το μοτίβο ή τη διανύσματα που χρησιμοποιείται για την πλήρωση του σχεδίου. |
strokeStyle | Θέτει ή επιστρέφει το χρώμα, το μοτίβο ή τη διανύσματα που χρησιμοποιείται για τις γραμμές. |
shadowColor | Θέτει ή επιστρέφει το χρώμα που χρησιμοποιείται για τη σκιά. |
shadowBlur | Θέτει ή επιστρέφει το επίπεδο θολώματος της σκιάς. |
shadowOffsetX | Ρρογραμματισμός ή επιστροφή της οριζόντιας απόστασης του σκιού από τη μορφή. |
shadowOffsetY | Ρρογραμματισμός ή επιστροφή της κάθετης απόστασης του σκιού από τη μορφή. |
Μέθοδος | Περιγραφή |
---|---|
createLinearGradient() | Δημιουργία διαγράμμισης (για το περιεχόμενο του καμβά). |
createPattern() | Επανάληψη του καθορισμένου στοιχείου στην καθορισμένη κατεύθυνση. |
createRadialGradient() | Δημιουργία ακτίνια/κυκλίας διαγράμμισης (για το περιεχόμενο του καμβά). |
addColorStop() | Καθορίζει τον χρώμα και τη θέση του σταματισμού της διαγράμμισης. |
Στυλ γραμμής
Αtribούς | Περιγραφή |
---|---|
lineCap | Ρρογραμματισμός ή επιστροφή του τύπου κεφαλίδας γραμμής. |
lineJoin | Ρρογραμματισμός ή επιστροφή του τύπου γωνίας που δημιουργείται όταν δύο γραμμές συναντούνται. |
lineWidth | Ρρογραμματισμός ή επιστροφή της τρέχουσας πλάτους γραμμής. |
miterLimit | Ρρογραμματισμός ή επιστροφή της μέγιστης μήκους της γωνίας του κόμβου. |
Ορθογώνιο
Μέθοδος | Περιγραφή |
---|---|
rect() | Δημιουργία ορθογώνιου. |
fillRect() | Διαγράψτε ορθογώνιο (με γεμισμό). |
strokeRect() | Διαγράψτε ορθογώνιο (χωρίς γεμισμό). |
clearRect() | Αφαιρεθείς οι καθορισμένοι πίξελ εντός της δεδομένης ορθογώνιας περιοχής. |
Διαδρομή
Μέθοδος | Περιγραφή |
---|---|
fill() | Αντιγραφή του τρέχοντος σχήματος (διαδρομής). |
stroke() | Πράγματι διαγράψτε τη διαδρομή που ορίσατε. |
beginPath() | Έναρξη διαδρομής ή επαναφορά της τρέχουσας διαδρομής. |
moveTo() | Μετακίνηση της διαδρομής στο καθορισμένο σημείο του καμβά χωρίς να δημιουργεί γραμμή. |
closePath() | Δημιουργία διαδρομής που επιστρέφει στον αρχικό σημείο. |
lineTo() | Προσθήκη νέου σημείου και δημιουργία γραμμής από αυτό το σημείο στο τελευταίο καθορισμένο σημείο του καμβά. |
clip() | Απόκοψις οποιασδήποτε μορφής και μεγέθους περιοχής από τον αρχικό καμβά. |
quadraticCurveTo() | Δημιουργία δυογωνικής βεζιέλ γραμμής. |
bezierCurveTo() | Δημιουργία τριγωνικής βεζιέλ γραμμής. |
arc() | Δημιουργία αλυσοπλαγιάς/κυκλίας (για τη δημιουργία κύκλου ή ενός τμήματος κύκλου). |
arcTo() | Δημιουργία αλυσοπλαγιάς/κυκλίας μεταξύ δύο τμημάτων. |
isPointInPath() | Επιστρέφει αληθές αν ο καθορισμένος πόντος βρίσκεται στο τρέχον δρομολόγιο, αλλιώς επιστρέφει ψευδές. |
Μετατροπή
Μέθοδος | Περιγραφή |
---|---|
scale() | Ανεμοβόληση ή συρρίκνωση του τρέχοντος σχήματος. |
rotate() | Γυροφέρνετε το τρέχον σχήμα. |
translate() | Αναδιαγράψτε τη θέση (0,0) του καμβά. |
transform() | Αντικαταστήστε τη τρέχουσα μετατροπή της διαγράμμισης. |
setTransform() | Ανακτήστε την τρέχουσα μετατροπή σε μονάδα μатриτσας. Στη συνέχεια εκτελέστε transform(). |
Κείμενο
Αtribούς | Περιγραφή |
---|---|
font | Ρρογραμματισμός ή επιστροφή της τρέχουσας γραμματοσειράς του κειμένου. |
textAlign | Ρρογραμματισμός ή επιστροφή της τρέχουσας διαρρύθμισης της ακολουθίας του κειμένου. |
textBaseline | Ρυθμίζει ή επιστρέφει την τρέχουσα γραμμή βασισμένη στην οποία θα σχεδιαστεί το κείμενο. |
Μέθοδος | Περιγραφή |
---|---|
fillText() | Σχεδιάζει το κείμενο με πλήρωμα στην επιφάνεια. |
strokeText() | Σχεδιάζει κείμενο στην επιφάνεια ( χωρίς πλήρωμα ). |
measureText() | Επιστρέφει το αντικείμενο που περιέχει το πλάτος του κειμένου. |
Σχεδιασμός εικόνας
Μέθοδος | Περιγραφή |
---|---|
drawImage() | Σχεδιάζει εικόνες, επιφάνειες ή βίντεο στην επιφάνεια. |
Διαχείριση pixel
Αtribούς | Περιγραφή |
---|---|
width | Επιστρέφει το πλάτος του αντικειμένου ImageData. |
height | Επιστρέφει το ύψος του αντικειμένου ImageData. |
data | Επιστρέφει το αντικείμενο που περιέχει τα δεδομένα της εικόνας του καθορισμένου αντικειμένου ImageData. |
Μέθοδος | Περιγραφή |
---|---|
createImageData() | Δημιουργεί ένα νέο κενό αντικείμενο ImageData. |
getImageData() | Επιστρέφει το αντικείμενο ImageData, το οποίο αντιγράφει τα δεδομένα των pixel του καθορισμένου ορθογώνιου στην επιφάνεια. |
putImageData() | Τοποθετεί τα δεδομένα εικόνας (από το καθορισμένο αντικείμενο ImageData) πίσω στην επιφάνεια. |
Σύνθεση
Αtribούς | Περιγραφή |
---|---|
globalAlpha | Ρυθμίζει ή επιστρέφει την τρέχουσα τιμή alpha ή της διαφάνειας της ζωγραφικής. |
globalCompositeOperation | Ρυθμίζει ή επιστρέφει τον τρόπο με τον οποίο θα ζωγραφιστεί η νέα εικόνα πάνω στην υφιστάμενη εικόνα. |
Άλλο
Μέθοδος | Περιγραφή |
---|---|
save() | Αποθηκεύει την τρέχουσα κατάσταση του περιβάλλοντος. |
restore() | Επιστρέφει την προηγούμενη κατάσταση του δρομολογίου και των ιδιοτήτων. |
createEvent() | |
getContext() | |
toDataURL() |
Σχετικές σελίδες
Εκμάθηση HTML:Canvas HTML5
Εκμάθηση HTML εικόνων:Εκμάθηση HTML Canvas
Εγχειρίδιο HTML:Ετικέτα <canvas> του HTML
- Προηγούμενη σελίδα Στυλ HTML
- Επόμενη σελίδα Console API