Balkendiagramme in PHP mithilfe von GD-Funktionen

Sobald diese Daten berechnet sind, kann man das Bild erzeugen (Listing B).

Listing B

Das Bild wird mittels der Größen- und Breitenberechnungen erstellt. Für das Bild werden einige Farbwerte zugewiesen (schwarz und weiß). Außerdem wird das Bild mit einem weißen Hintergrund angefüllt. Jetzt werden die Rechtecksdaten in Listing C hinzugefügt.

Listing C

Das Array $rects wird durchgegangen, um jedes einzelne Rechteck zu erstellen. Es wird eine Zufallsfarbe gewählt, indem die Werte für Rot, Grün und Blau gezogen werden. Jedes einzelne Rechteck wird mittels der Punkte im aktuellen Element des $rects-Arrays hinzugefügt. Dann wird an der unteren, rechten Ecke des Rechtecks auf der y-Achse eine Markierung hinzugefügt. Es folgt der Datenname (ptN) unterhalb der y-Achse. Der Name wird unter dem Rechteck zentriert, und zwar indem mithilfe der Funktion imagettfbbox die Breite des Begrenzungsbereichs des Textes berechnet wird. Diese Breite wird halbiert und vom Halbpunktwert des Rechtecks subtrahiert, um die x-Koordinate des Textes zu bestimmen.

Zum Schluss werden die Achsen und die vertikalen Markierungen hinzugefügt, das Bild wird im PNG-Format ausgegeben und aus dem Speicher entfernt (Listing D).

Listing D

Das Beispiel in Aktion

Ein funktionsfähiges Beispiel dieses Codes findet sich unter http://www.phillipweb.com/gdimage/chart.html. Leider werden die Funktionen imagettfbbox und imagettftext auf diesem Server nicht unterstützt. Auf dem verwendeten lokalen Windows 2000 Server mit PHP v4.3 und GD v2.0.28 kompatibel verlief der Test dieser Funktionalität jedoch erfolgreich. Der Quelltext für dieses Beispiel findet sich unter http://www.phillipweb.com/gdimage/chart_image.txt.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

3 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

3 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

3 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

4 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

4 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

4 Tagen ago