API του Canvas

Το στοιχείο <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);

Προσπάθησε το προσωπικά

Διαδρομή

Οι κοινές μεθόδους που χρησιμοποιούνται για τη σχεδίαση στην πίνακα είναι:

  1. Έναρξη διαδρομής - beginPath()
  2. Μετακίνηση σε έναν σημείο - moveTo()
  3. Σχεδίαση στην διαδρομή - lineTo()
  4. Δημιουργία διαδρομής - 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()

Αtribούς και συμβάντα πρότυπα

Το αντικείμενο canvas υποστηρίζει τα πρότυπαΑtribούςκαιΣυνέδρια.

Σχετικές σελίδες

Εκμάθηση HTML:Canvas HTML5

Εκμάθηση HTML εικόνων:Εκμάθηση HTML Canvas

Εγχειρίδιο HTML:Ετικέτα <canvas> του HTML