Start · Sprachen · PHP · Referenz · imageellipse

imageellipse

Funktion

Zeichnet eine (nicht gefüllte) Ellipse auf ein GD-Bild.

seit PHP 4.0.6 Kategorie: image

Signatur

imageellipse(GdImage $image, int $centerX, int $centerY, int $width, int $height, int $color): bool

Beschreibung

imageellipse() zeichnet den Umriss einer Ellipse auf das angegebene GD-Bildobjekt. Der Mittelpunkt der Ellipse wird durch $centerX und $centerY festgelegt; Breite und Höhe definieren die Ausdehnung der Ellipse entlang der horizontalen bzw. vertikalen Achse.

Ein Kreis ist ein Sonderfall einer Ellipse, bei dem Breite und Höhe identisch sind. Die Funktion füllt die Ellipse nicht aus – für eine gefüllte Ellipse steht imagefilledellipse() zur Verfügung.

Die Farbe muss zuvor mit imagecolorallocate() oder imagecolorallocatealpha() erstellt worden sein. Das Zeichnen erfolgt direkt im Speicher; um das Ergebnis zu speichern oder auszugeben, sind anschließend Funktionen wie imagepng(), imagejpeg() oder ähnliche notwendig.

Parameter

Name Typ Default Beschreibung
$image Pflicht GdImage Das Bildobjekt, auf dem gezeichnet wird. Wird typischerweise von imagecreatetruecolor() oder imagecreate() zurückgegeben.
$centerX Pflicht int X-Koordinate des Mittelpunkts der Ellipse in Pixeln.
$centerY Pflicht int Y-Koordinate des Mittelpunkts der Ellipse in Pixeln.
$width Pflicht int Breite der Ellipse in Pixeln (horizontaler Durchmesser).
$height Pflicht int Höhe der Ellipse in Pixeln (vertikaler Durchmesser).
$color Pflicht int Farbe des Ellipsenumrisses, erstellt mit imagecolorallocate() oder imagecolorallocatealpha().

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. wenn das Bild ungültig ist).

Beispiele

Einfache Ellipse auf weißem Hintergrund zeichnen

<?php
// Bild erstellen
$image = imagecreatetruecolor(300, 200);

// Farben definieren
$white = imagecolorallocate($image, 255, 255, 255);
$red   = imagecolorallocate($image, 255, 0, 0);

// Hintergrund weiß füllen
imagefilledrectangle($image, 0, 0, 299, 199, $white);

// Ellipse in Rot zeichnen (Mittelpunkt 150/100, Breite 200, Höhe 120)
imageellipse($image, 150, 100, 200, 120, $red);

// Als PNG ausgeben
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);

Kreis als Sonderfall einer Ellipse

<?php
// 200x200 Bild erstellen
$image = imagecreatetruecolor(200, 200);

$black = imagecolorallocate($image, 0, 0, 0);
$blue  = imagecolorallocate($image, 0, 100, 200);

// Hintergrund schwarz füllen
imagefilledrectangle($image, 0, 0, 199, 199, $black);

// Kreis: Breite == Höhe
imageellipse($image, 100, 100, 150, 150, $blue);

header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);

// Wichtig · Fallstricke

Hinweis: Seit PHP 8.0 wird ein GdImage-Objekt statt einer Ressource übergeben. Älterer Code, der noch resource-Typen verwendete, muss ggf. angepasst werden.

Um eine gefüllte Ellipse zu zeichnen, sollte imagefilledellipse() verwendet werden. Für eine Ellipse mit spezifischer Linienstärke kann vorab imagesetthickness() aufgerufen werden.

Negative Werte für $width oder $height führen zu undefinierten Ergebnissen und sollten vermieden werden.