Canvas: Grafiken innerhalb von HTML erstellen
HTML
Dazu verwendet der Browser das Element
canvas
als Zeichenfläche. Über die Attribute
width
und
height
bestimmen wir die Abmessungen der Grafik.
<canvas id="leinwand" width="200" height="120">
<div>
Dieser Inhalt wird nur dann angezeigt,
wenn der Browser canvas nicht unterstützt.
</div>
</canvas>
Die Fläche wird jetzt bereits vom Browser freigehalten.
CSS
Mit CSS kann das Element
canvas
gestylt werden, womit in unseren
Beispielen wegen der besseren Sichtbarkeit ein roter Rahmen eingestellt
sowie ein weißer Hintergrund gesetzt wird.
<style>
#leinwand {
border: 1pt solid red;
background-color: #fff;
}
</style>
Die Fläche beinhaltet bereits jetzt eine leere Grafik. Versucht man, diese
über die rechte Maustaste zu speichern, dann erhält man eine Bilddatei
im PNG-Format.
Die Vorbereitungen wären damit abgeschlossen, das eigentliche Erstellen
der Grafik geschieht mithilfe von JavaScript.
JavaScript
Zunächst greifen wir mit
getElementById
auf das Canvas-Element zu
und erhalten ein recht komplexes Objekt, im Beispiel in der Variablen
myCanvas
.
Das Element enthält die Methode
getContext()
, von der wir
einen sogenannten Zeichenkontext erhalten. Im Beispiel ist es die Variable
Ctx2d
.
<script>
// zuerst das canvas-Element finden
let myCanvas = document.getElementById('leinwand');
// gibt es die Methode dann existiert die Canvas
if(myCanvas.getContext)
{
// Jetzt Zeichenkontext holen
let Ctx2d = myCanvas.getContext('2d');
// ... hier folgt die eigentliche Grafik-Programmierung ...
}
</script>
Das Argument '2d'
bei getContext()
bewirkt, dass ein CanvasRenderingContext2D
-Objekt
zurückgegeben wird; eine API, mit dem 2D-Grafiken erstellt werden können.
Dieser Zeichenkontext wird von den meisten Browsern unterstützt und
genau damit befassen wir uns in diesem Beitrag.