Hallo zusammen,
Ich finde das Modul ganz passend, habe mich von der Idee inspirieren lassen und eine neue Variante gebaut:
- Die Headlines werden als Bilder gespeichert, damit sie nicht immer neu generiert werden müssen
- Der Code ist sehr schlank gehalten, es bedarf nur einer externen Schriftart-Datei
Vielleicht kann es jemand gebrauchen:
Output:
Code: Alles auswählen
<?php
/***********************************************
* GraphicalHeadline - erzeugt grafische Headlines
* und speichert die Outputs als Datei
*
* Author : S.Flury
* Created : 26-07-2008
* Comments : Bei Änderungen an Schriftart,
Grösse, Farbe müssen die Files im
/tmp Verzeichnis gelöscht werden!
************************************************/
$ContenidoTitelContainer = "CMS_HEAD[1]";
if($edit)
{
echo $ContenidoTitelContainer;
}
else
{
$Titel = $ContenidoTitelContainer;
// Schriftart
$Font = "font.ttf";
// Dimensionen für Titel
$Höhe = 50;
$Breite = 700;
// Schriftgrösse
$Schriftgrösse = 25;
// Titel in MD5 Hash für Dateiname umwandeln
$md5 = md5($Titel);
// Bilddatei noch nicht vorhanden -> schreiben
$Pfad = "tmp/$md5.gif";
if(!file_exists($Pfad))
{
// Grundfläche erstellen (Breite x Höhe)
$im = imagecreatetruecolor($Breite, $Höhe);
// Farben erzeugen
$weiss = imagecolorallocate($im, 255, 255, 255);
$grau = imagecolorallocate($im, 128, 128, 128);
$schwarz = imagecolorallocate($im, 0, 0, 0);
// Grundfläche weiss füllen (sofern weisser Hintergrund)
imagefilledrectangle($im, 0, 0, $Breite, $Höhe, $weiss);
// Titel hinzufügen.
imagettftext($im, $Schriftgrösse, 0, 0, 25, $schwarz, $Font, $Titel);
// Bilddatei schreiben
imagegif($im,"tmp/$md5.gif",100);
// Bild vom Speicher löschen
imagedestroy($im);
}
// Ausgabe im Contenido
echo "<img src=\"$Pfad\" width=\"$Breite\" height=\"$Höhe\" alt=\"$Titel\" title=\"$Titel\">";
}
?>