Voodoo
Mitglied
Ja, ich weiß Google ist mein Freund, aber diesmal komme ich auch mit Google nicht weiter.
Und zwar geht es diesmal um richtiges OnTheFly. Das heißt die Source-Datei wird ebenfalls erst generiert.
Ok... folgendes.
Es wird ein Bild über die TTF-Funktionen erstellt. Leider greift das anti-aliasing erst ab 15pt. Ich hätte es aber gerne kleiner. Also möchte ich das Bild noch verkleinern. Dummerweise hab ich im Netz nur Beispiele mit existierenden Bilddateien gefunden.
Hier einmal mein bisheriger Code:
Es wäre toll, wenn mir jemand helfen könnte
mfG
Voodoo
Und zwar geht es diesmal um richtiges OnTheFly. Das heißt die Source-Datei wird ebenfalls erst generiert.
Ok... folgendes.
Es wird ein Bild über die TTF-Funktionen erstellt. Leider greift das anti-aliasing erst ab 15pt. Ich hätte es aber gerne kleiner. Also möchte ich das Bild noch verkleinern. Dummerweise hab ich im Netz nur Beispiele mit existierenden Bilddateien gefunden.
Hier einmal mein bisheriger Code:
PHP:
$font = 'CALIBRI.TTF';
function lastrack() { // Ermittelt den letzten Track
$handle = fopen ("http://ws.audioscrobbler.com/1.0/user/mrmaris/recenttracks.txt", "r");
while (!feof($handle) AND $as == 0) {
$buffer .= fgets($handle, 4096);
$as++;
}
$datum = preg_replace('/([0-9]+),(.+)/',"$1",$buffer);
$track = preg_replace('/([0-9]+),(.+)/',"$2",$buffer);
fclose ($handle);
return date("H:i:s",$datum) . " $track";
}
$text = lastrack();
$font_size = 15;
$bbox = imagettfbbox($font_size, 0, $font, $text);
$size_w = abs($bbox[2] - $bbox[0]);
$size_h = abs($bbox[7] - $bbox[1]);
$x = -abs($bbox[0]);
$y = $size_h - abs($bbox[1]);
$im = imagecreatetruecolor($size_w+20, $size_h+20);// Wegen des Angle +20
$back = imagecolorallocate($im, 250, 250, 250); // background color
$fore = imagecolorallocate($im, 0, 0, 0); // foreground color
imagefilledrectangle($im, 0, 0, $size_w+20, $size_h+20, $back);
// filling with background color
imagettftext($im, $font_size, 4, $x+10, $y+20, - $fore, $font, $text);
imagecolortransparent ( $im, $back );
// rendering text
header("Content-type: image/png");
ImagePNG($im);
imagedestroy($im);
Es wäre toll, wenn mir jemand helfen könnte
mfG
Voodoo