Signatur
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
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);
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);
// 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.