Brückenkurs Websites und Webapps/Canvas II
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
<canvas width=500 height=500></canvas>
==Einführung==
In diesem Arbeitsblatt wollen wir den vollen Funktionsumfang der [https://www.w3schools.com/graphics/canvas_intro.asp Canvas-Bibliothek] nutzen. Im Vergleich zum letzten Canvas-Arbeitsblatt ist dazu etwas mehr Code notwendig.
'''Beispiel'''
Wir zeichnen eine vertikale Linie von x=10,y=0 bis x=10, y=500:
<code id="58d79189c1e3c">
function draw(){
var c = document.getElementById('canvas1');
var ctx = c.getContext('2d');
ctx.clearRect(0,0,500,500);
ctx.beginPath();
ctx.moveTo(10,0);
ctx.lineTo(10,500);
ctx.stroke();
ctx.closePath();
}
</code>
<run id="58d79189c1eae">
draw();
</run>
'''Wichtig:''' Die Zeilen 3-6 und 11-12 müssen Sie bei jeder Aufgabe in diesem Arbeitsblatt einfügen!
[https://www.w3schools.com/graphics/canvas_reference.asp Referenz aller Canvas-Funktionen und -Einstellungen]
==Rechtecke==
Mit der Canvas-Funktion ''rect'' können wir Rechtecke zeichnen.
Aufbau: ''rect(x, y, breite, höhe)''
'''Beispiel'''
Wir zeichnen ein Rechteck an die Postion x=10,y=10:
<code id="58d7996806104">
function draw(){
var c = document.getElementById('canvas1');
var ctx = c.getContext('2d');
ctx.clearRect(0,0,500,500);
ctx.beginPath();
ctx.rect(10,10,480,480);
ctx.stroke();
ctx.closePath();
}
</code>
<run id="58d799680624e">
draw();
</run>
'''Aufgaben'''
Der folgende Code zeichnet ein Rechteck mit den Abmessungen 480x480 an die Position x=0,y=0.
* Ergänzen Sie ein zweites Rechteck mit den Abmessungen 460x460 an die Position x=20,y=20!
* Ergänzen Sie ein drittes Rechteck mit den Abmessungen 440x440 an die Position x=30,y=30
<code id="58d7996806175">
function draw(){
var c = document.getElementById('canvas1');
var ctx = c.getContext('2d');
ctx.clearRect(0,0,500,500);
ctx.beginPath();
ctx.rect(10,10,980,480);
ctx.stroke();
ctx.closePath();
}
</code>
<run id="58d79968062b3">
draw();
</run>
Verwenden Sie eine for-Schleife, um Rechtecke zu zeichnen, die folgendes Muster ergeben:
<code id="58d79968061d8">
function draw(){
var c = document.getElementById('canvas1');
var ctx = c.getContext('2d');
ctx.clearRect(0,0,500,500);
ctx.beginPath();
ctx.stroke();
ctx.closePath();
}
</code>
<run id="58d7996806314">
draw();
</run>