Start · Sprachen · PHP · Referenz · imagefilledellipse

imagefilledellipse

Funktion

Zeichnet eine ausgefüllte Ellipse (oder einen Kreis) auf ein GD-Bild-Objekt.

seit PHP 4.0.6 Kategorie: image

Signatur

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

Beschreibung

imagefilledellipse() zeichnet eine vollständig ausgefüllte Ellipse auf das angegebene Bild. Der Mittelpunkt der Ellipse wird durch die Parameter centerX und centerY definiert, während width und height die horizontale und vertikale Ausdehnung (jeweils als Durchmesser) angeben. Sollen width und height gleich sein, entsteht ein ausgefüllter Kreis.

Die Funktion wird häufig für grafische Darstellungen wie Diagramme, Spielfelder, Buttons oder dekorative Elemente in dynamisch erzeugten Bildern verwendet. In Kombination mit imagecolorallocate() oder imagecolorallocatealpha() lassen sich beliebige Füllfarben – auch mit Transparenz – einsetzen.

Im Gegensatz zu imageellipse() füllt diese Funktion das Innere der Ellipse vollständig mit der angegebenen Farbe aus. Für eine Ellipse mit Rand ohne Füllung sollte stattdessen imageellipse() verwendet werden.

Parameter

Name Typ Default Beschreibung
$image Pflicht GdImage Das GD-Bild-Objekt, auf das gezeichnet wird. Wird typischerweise durch Funktionen wie imagecreatetruecolor() oder imagecreatefromjpeg() erzeugt.
$centerX Pflicht int X-Koordinate (horizontal) des Mittelpunkts der Ellipse in Pixeln, gemessen von der linken Bildkante.
$centerY Pflicht int Y-Koordinate (vertikal) des Mittelpunkts der Ellipse in Pixeln, gemessen von der oberen Bildkante.
$width Pflicht int Breite (horizontaler Durchmesser) der Ellipse in Pixeln.
$height Pflicht int Höhe (vertikaler Durchmesser) der Ellipse in Pixeln.
$color Pflicht int Füllfarbe der Ellipse als Farb-Identifier, der zuvor mit imagecolorallocate() oder imagecolorallocatealpha() erstellt wurde.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. ungültiges Bild-Objekt oder Farb-Identifier).

Beispiele

Einfache ausgefüllte Ellipse auf weißem Hintergrund

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

// Farben definieren
$white = imagecolorallocate($image, 255, 255, 255);
$blue  = imagecolorallocate($image, 50, 100, 200);

// Hintergrund weiß füllen
imagefill($image, 0, 0, $white);

// Ausgefüllte Ellipse: Mittelpunkt (100, 100), Breite 160px, Höhe 100px
imagefilledellipse($image, 100, 100, 160, 100, $blue);

// Als PNG ausgeben
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
(PNG-Bild mit einer blauen ausgefüllten Ellipse auf weißem Hintergrund)

Ausgefüllter Kreis mit Transparenz (PNG)

<?php
// Bild mit Alpha-Kanal
$image = imagecreatetruecolor(150, 150);
imagealphablending($image, false);
imagesavealpha($image, true);

// Transparenter Hintergrund
$transparent = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparent);

// Halbtransparentes Rot (alpha = 60 von 127)
$red = imagecolorallocatealpha($image, 220, 50, 50, 60);

// Kreis: gleiche Breite und Höhe ergeben einen Kreis
imagefilledellipse($image, 75, 75, 120, 120, $red);

header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
(PNG-Bild mit einem halbtransparenten roten Kreis auf transparentem Hintergrund)

// Wichtig · Fallstricke

Koordinatensystem: Der Ursprung (0, 0) liegt oben links. Positive Y-Werte verlaufen nach unten, positive X-Werte nach rechts.

Durchmesser statt Radius: width und height geben den Durchmesser an, nicht den Radius. Ein Wert von 100 erzeugt also eine Ellipse, die sich 50 Pixel vom Mittelpunkt aus erstreckt.

Antialiasing: imagefilledellipse() unterstützt kein natives Antialiasing. Für weichere Kanten kann das Bild in doppelter Größe gezeichnet und anschließend mit imagescale() skaliert werden.

Ab PHP 8.0 ist der erste Parameter vom Typ GdImage statt dem früher verwendeten resource.