Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CanvasRenderingContext2D: ellipse()-Methode

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit August 2016 browserübergreifend verfügbar.

Die CanvasRenderingContext2D.ellipse()-Methode des Canvas 2D API fügt einen elliptischen Bogen zum aktuellen Unterpfad hinzu.

Syntax

js
ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle)
ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, counterclockwise)

Die ellipse()-Methode erstellt einen elliptischen Bogen, der bei (x, y) zentriert ist, mit den Radien radiusX und radiusY. Der Pfad beginnt bei startAngle und endet bei endAngle und verläuft in der durch counterclockwise angegebenen Richtung (standardmäßig im Uhrzeigersinn).

Parameter

x

Die x-Achse (horizontale) Koordinate des Zentrums der Ellipse.

y

Die y-Achse (vertikale) Koordinate des Zentrums der Ellipse.

radiusX

Der Hauptachsenradius der Ellipse. Muss nicht-negativ sein.

radiusY

Der Nebenachsenradius der Ellipse. Muss nicht-negativ sein.

rotation

Die Drehung der Ellipse, ausgedrückt in Bogenmaß.

startAngle

Der exzentrische Winkel, bei dem die Ellipse beginnt, im Uhrzeigersinn vom positiven x-Achse gemessen und in Bogenmaß ausgedrückt.

endAngle

Der exzentrische Winkel, bei dem die Ellipse endet, im Uhrzeigersinn vom positiven x-Achse gemessen und in Bogenmaß ausgedrückt.

counterclockwise Optional

Ein optionaler boolescher Wert, der, wenn er true ist, die Ellipse gegen den Uhrzeigersinn zeichnet. Der Standardwert ist false (im Uhrzeigersinn).

Rückgabewert

Keiner (undefined).

Beispiele

Zeichnen einer vollständigen Ellipse

Dieses Beispiel zeichnet eine Ellipse in einem Winkel von π/4 Bogenmaß (45°). Um eine vollständige Ellipse zu erstellen, beginnt der Bogen bei einem Winkel von 0 Bogenmaß (0°) und endet bei einem Winkel von 2π Bogenmaß (360°).

HTML

html
<canvas id="canvas" width="200" height="200"></canvas>

JavaScript

js
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");

// Draw the ellipse
ctx.beginPath();
ctx.ellipse(100, 100, 50, 75, Math.PI / 4, 0, 2 * Math.PI);
ctx.stroke();

// Draw the ellipse's line of reflection
ctx.beginPath();
ctx.setLineDash([5, 5]);
ctx.moveTo(0, 200);
ctx.lineTo(200, 0);
ctx.stroke();

Ergebnis

Verschiedene elliptische Bögen

Dieses Beispiel erstellt drei elliptische Pfade mit unterschiedlichen Eigenschaften.

HTML

html
<canvas id="canvas"></canvas>

JavaScript

js
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");

ctx.fillStyle = "red";
ctx.beginPath();
ctx.ellipse(60, 75, 50, 30, Math.PI * 0.25, 0, Math.PI * 1.5);
ctx.fill();

ctx.fillStyle = "blue";
ctx.beginPath();
ctx.ellipse(150, 75, 50, 30, Math.PI * 0.25, 0, Math.PI);
ctx.fill();

ctx.fillStyle = "green";
ctx.beginPath();
ctx.ellipse(240, 75, 50, 30, Math.PI * 0.25, 0, Math.PI, true);
ctx.fill();

Ergebnis

Spezifikationen

Spezifikation
HTML
# dom-context-2d-ellipse-dev

Browser-Kompatibilität

Siehe auch