preload
Feb 10

Der folgende Code erläutert das Vorgehen zum Skalieren einer PNG-Datei mit Alpha-Transparenz bei Verwendung der PHP-Grafikbibliothek GD. Wichtig hierbei ist, dass die Informationen aus dem Alphakanal gespeichert werden müssen (imagesavealpha), das Alphablending hingegen deaktiviert sein muss (imagealphablending).

<?php

// Original-Bild laden und dessen Breite und Höhe bestimmen
$in = imagecreatefrompng(“image.png”);
$iWidthOld = imagesx($in);
$iHeightOld = imagesy($in);

// Breite und Höhe für neues Bild festlegen und Bild erzeugen
$iWidthNew = 320;
$iHeightNew = 240;
$out = imagecreatetruecolor($iWidthNew, $iHeightNew);

// Alphablending (bspw. für grafische Objekte) deaktivieren – wichtig!
imagealphablending($out, false);

// Die Informationen aus dem Alphakanal sollen gespeichert werden
imagesavealpha($out, true);

// Originalbild mit Zielmaße in das neue Bild kopieren
imagecopyresampled($out, $in, 0, 0, 0, 0, $iWidthNew, $iHeightNew, $iWidthOld, $iHeightOld);

// Header ausgeben
header(“Content-Type: image/png”);

// PNG-Datei als Ausgabe erzeugen
imagepng($out);

?>

Jun 19

Um statistische Daten grafisch darzustellen gibt es mittlerweile ja verschiedene Bibliotheken, allen voran ist hier wohl die JpGraph-Bibliothek zu nennen, die viele Wünsche der Statistikfreunde erfüllt. Gerade für kleinere Auswertungen gibt es aber auch eine weitere, recht einfache Möglichkeit. Google stellt hier mit der Google Chart API eine recht umfangreiche Schnittstelle zur Verfügung, der man per Post oder Get ein paar Werte unterschiebt und schon bekommt man das fertige Bild zurück.
Für interessierte Einsteiger habe ich ein Beispiel zur Google Chart API erstellt, das eine Möglichkeit aufzeigt, die Daten sowohl in einer tabellarischen Form als auch als Grafik darzustellen. Natürlich kann man das Beispiel auch direkt online betrachten.
Man muss klar sagen, dass es einige Einschränkungen gibt, z.B. die Beschränkung der Bildgröße auf 300.000 Pixel oder dass nur Werte zwischen 0 und 100 zulässig sind (was durch eine Skalierung erreicht wird), aber für viele Fälle reicht es eben doch aus und die Einbindung geht sehr schnell und einfach.
Weitergehende Informationen zur API finden sich bei der Beschreibung der Google Chart Tools.

Tagged with: