InteractivePHP

InteractivePHP ist ein kleines Experiment mit PHP, GD & Javascript.

Dabei habe ich versucht mit PHP & GD animierte Bilder zu erstellen. Das Generieren von animierten GIFs mit GD ist kompliziert und langsam. Das Generieren eines einzellnen Frames ist dagegen denkbar einfach. InteractivePHP besteht aus zwei Komponenten:

  1. Dem Bild, das mit PHP & GD immer dynamisch generiert wird. Per GET wird dem Bild-Script die aktuelle Position der Animation mitgeteilt.
  2. Der Oberfläche, die mit HTML und Javascript das animierte Bild anzeigt und mit einem Timer das Bild alle par Millisekunden neu lädt.

In der Oberfläche habe ich einige Slider implementiert. Mit diesen kann man den Text drehen und verschieben.

Den Code gibt es hier auf GitHub.

InteractivePHP

Das Script ist bisher nur mit dem Firefox getestet worden. Sollte keine Anmiation zusehen sein, kann es helfen die den Regler „Animtions-Speed“ zu nach rechts zu schieben. Je nach Internetverbindung sollte dann eine einigermaßen flüssige Animation zu sehen sein.

Sicherlich ist diese Technik nicht alltagstauglich. Die Serverbelastung bei mehreren Usern wäre einfach zu hoch. Für einen Ajax-Chat der die Nachrichtenfenster mit Smilies als Grafik darstellt, wäre diese Technik aber anwendbar, da jeder User die gleichen Bilder sehen würde. Ein Caching-Mechanismus könnte dieses Problem beheben.

/snippets/blob/master/interactive_php/image.php
<?php
header('Content-Type: image/png');
putenv('GDFONTPATH=' . realpath('.'));
$img = imagecreate((int) 4 * $_GET['imgsize'], (int) 3 * $_GET['imgsize']);
$bg_col = imagecolorallocate($img, 255, 255, 255 );
$text_col = imagecolorallocate($img, 0, 0, 0);
imagettftext($img, (int) $_GET['fontsize'], (int) $_GET['angle'], (int) $_GET['x'], (int) $_GET['y'], $text_col, (int) $_GET['font'] . '.ttf', $_GET['text']);
imagepng($img);
imagedestroy($img);
?>

2 Gedanken zu „InteractivePHP“

  1. Ja das ist mir beim Schreiben mal kurz durch den Kopf gegangen.
    Dadurch wäre es möglich das Nachrichtenfenster schneller zu aktualisieren und Man kann noch Smilies usw. anzeigen. Eigentlich is es ne Schwachsinnige Idee. Je mehr ich darüber nachdenke, desto klarer wird es mir. Die Smilie kann man mit einfachem HTML wahrscheinlich viel leichter darstellen 😉

    Danke Robert, manchmal denkt man halt viel zu umständlich…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.