Abb. 1: Die Farbe, die rot am nächsten kommt, ist hier ein „versupptes“ Grau
Das Dithering ist ein Boolean und gibt an, wie bei einer Farbreduktion verfahren wird. Ist Dithering aktiv (
Abb. 2: Aus dem Grau ist echtes Rot geworden.
Wenn Sie auf eine dynamische Navigation setzen, können natürlich noch weitere Probleme auftreten. Für Ärger sorgt beispielsweise ein fehlendes Originalpicture. Hierzu finden Sie in der PHP-Dokumentation unter
Abb. 5: Weiß wird transparent und der Button passt sich in den Hintergrund ein.
Nachdem Sie das Bild geladen haben, starten Sie eine Schleife, die die Indexwerte aller Farben durchläuft. Mit
Abb. 6: PHP wandelt den Button in Graustufen um.
Etwas eleganter erfolgt die Umwandlung, wenn die einzelnen Farbwerte gewichtet werden. Die notwendigen Werte hängen natürlich größtenteils vom Originalpicture ab. Oftmals ist es für das Graustufen-Ergebnis am günstigsten, Grün am stärksten und Blau am zweitstärksten zu gewichten. Die Berechnung ändert sich nur in einer Zeile:
Abb. 9: Links das Original, rechts die Verkleinerung mit PHP.
Zum Abschluss erhält die Spielwiese der dynamischen Grafiken noch ein wenig Würze mit einem zufallsbasierten Bild. Listing 1 erzeugt ein Bild, das aus lauter Ellipsen besteht (fünfzig, um genau zu sein). Diese Ellipsen haben alle eine zufällige Größe und eine zufällige Farbe. Einzige Bedingung ist, dass keine Ellipse über den Rand des Bildes hinausragen darf.
Eine Schleife erzeugt die Ellipsen. In der Schleife wird die Farbe mit den drei Farbwerten über eine Zufallszahl von 0 bis 255 zusammengesetzt. Die Koordinaten für den Mittelpunkt der Ellipse (