Es scheint seltsam, aber dennoch unterstützt HTML5 das Zeichnen von Linien, Kreisen, Rechtecken und vielen anderen Grundformen. Es gibt nichts, was zum Zeichnen des Grundpunkts geeignet ist. Die einzige Möglichkeit, dies zu tun, besteht darin, Punkte mit allem zu simulieren, was Sie haben.
Grundsätzlich gibt es also 3 mögliche Lösungen:
- Punkt als Linie zeichnen
- Punkt als Polygon zeichnen
- Punkt als Kreis zeichnen
Jeder von ihnen hat seine Nachteile
Linie
function point(x, y, canvas){
canvas.beginPath();
canvas.moveTo(x, y);
canvas.lineTo(x+1, y+1);
canvas.stroke();
}
Denken Sie daran, dass wir in Richtung Südosten ziehen. Wenn dies der Rand ist, kann es ein Problem geben. Sie können aber auch in eine andere Richtung zeichnen.
Rechteck
function point(x, y, canvas){
canvas.strokeRect(x,y,1,1);
}
oder schneller mit fillRect, da die Render-Engine nur ein Pixel ausfüllt.
function point(x, y, canvas){
canvas.fillRect(x,y,1,1);
}
Kreis
Eines der Probleme mit Kreisen ist, dass es für eine Engine schwieriger ist, sie zu rendern
function point(x, y, canvas){
canvas.beginPath();
canvas.arc(x, y, 1, 0, 2 * Math.PI, true);
canvas.stroke();
}
die gleiche Idee wie mit Rechteck, die Sie mit Füllung erreichen können.
function point(x, y, canvas){
canvas.beginPath();
canvas.arc(x, y, 1, 0, 2 * Math.PI, true);
canvas.fill();
}
Probleme mit all diesen Lösungen:
- Es ist schwierig, alle Punkte im Auge zu behalten, die Sie ziehen werden.
- Wenn Sie hineinzoomen, sieht es hässlich aus.
Wenn Sie sich fragen: "Was ist der beste Weg, um einen Punkt zu zeichnen? ", Würde ich mit einem gefüllten Rechteck gehen. Sie können mein jsperf hier mit Vergleichstests sehen .