Die Methode moveTo muss einen neuen Unterpfad anlegen, mit den übergebenen
Koodinaten (x, y) für einen neuen und einzigen Punkt - den Startpunkt. Der neue Punkt ist auch der aktive Punkt,
von dem aus die nächste Pfadmanipulation ausgeht.
void moveTo(x, y)
Die Methode erwartet zwei Parameter.
function drawIt(){
var objCanvas = document.getElementById("canvas_id");
// Falls das Objekt unterstützt wird
if(objCanvas.getContext){
// Kontext
var objContext = objCanvas.getContext('2d');
for(var i=0; i<10; i++){
// Füll-/Linienmethode (Rotabstufungen)
objContext.fillStyle = "rgb("+(255 - i*20)+", 0, 0)";
objContext.strokeStyle = "rgb("+(0 + i*20)+", 0, 0)";
// Neuen Arbeitspfad anlegen
objContext.beginPath();
// Startpunkt setzen
objContext.moveTo((i*10)+ 10, (i*10)+ 10);
objContext.lineTo((i*10)+ 60, (i*10)+ 10);
objContext.lineTo((i*10)+ 60, (i*10)+ 60);
objContext.lineTo((i*10)+ 10, (i*10)+ 60);
objContext.lineTo((i*10)+ 10, (i*10)+ 10);
objContext.fill();
// IE (sonst wird nur fill ausgeführt)
if(document.all && !window.opera){
// Neuen Arbeitspfad anlegen
objContext.beginPath();
// Startpunkt setzen
objContext.moveTo((i*10)+ 10, (i*10)+ 10);
objContext.lineTo((i*10)+ 60, (i*10)+ 10);
objContext.lineTo((i*10)+ 60, (i*10)+ 60);
objContext.lineTo((i*10)+ 10, (i*10)+ 60);
objContext.lineTo((i*10)+ 10, (i*10)+ 10);
}
objContext.stroke();
}
}else{
// Sonstiger Code
}
}
Im Beispiel wird eine for-Schleife 10-mal durchlaufen. In jedem Schleifendurchlauf wird
der Startpunkt um 10 Pixel weiter nach rechts sowie nach unten verschoben (moveTo).
Ausgehend von dieser neuen Startposition wird in jedem Schritt ein Quadrat in Rotabstufungen gezeichnet.