TTF шрифтами можно воспользоваться для создания и вывода динамических картинок, с использованием функции ImageTtfText. Здесь приведен скрипт создающий и выводящий вот такой банер. Этот банер в Png формате, чересстрочный и прозрачный.
<?php
/*
назовите этот файл любым именем,
и папка '/fonts', в которой должен лежать TTF шрифт
нашем случае 'verdana.ttf'
$user_online - в онлайне
$host_stat_day - хостов за день
$hit_stat_day - хитов за день
*/
// эти переменные вам надо брать в скрипте,
// а мы просто их поставили
$user_online = 4;
$host_stat_day = 2724;
$hit_stat_day = 22476;
$font_size = 14;
// ширина банера
$width = '150';
// высота банера
$height = '50';
// имя файла, где лежит ttf шрифт
$font = str_replace ( "\\", "/", getcwd () )."/fonts/verdana.ttf";
// имя файла, в котором сохраняется банер
$img_new = "banner_ttf.png";
// насколько делать отступ текста в банере
$one_point = '5';
// уменьшает или увеличивает шрифт, меняйте значение
$korr_type = '0.7';
// уменьшает или увеличивает отступ в конце строки, тоже меняйте
$korr_line = '1.6';
$bibl_ext = dirname ($_SERVER['SCRIPT_FILENAME']).'/extensions/php_gd.dll';
if ( ! extension_loaded ('gd') and @is_file ($bibl_ext)){ dl ("extensions/php_gd.dll");}
if ( ! extension_loaded ('gd')){ print "Нет файла библиотеки $bibl_ext";}
function replace_cyr($path){
$search = array ("'Ё'", "'А'", "'Б'", "'В'", "'Г'", "'Д'", "'Е'", "'Ж'", "'З'", "'И'", "'Й'", "'К'", "'Л'", "'М'", "'Н'", "'О'", "'П'", "'Р'", "'С'", "'Т'", "'У'", "'Ф'", "'Х'", "'Ц'", "'Ч'", "'Ш'", "'Щ'", "'Ъ'", "'Ы'", "'Ь'", "'Э'", "'Ю'", "'Я'", "'а'", "'б'", "'в'", "'г'", "'д'", "'е'", "'ж'", "'з'", "'и'", "'й'", "'к'", "'л'", "'м'", "'н'", "'о'", "'п'", "'р'", "'с'", "'т'", "'у'", "'ф'", "'х'", "'ц'", "'ч'", "'ш'", "'щ'", "'ъ'", "'ы'", "'ь'", "'э'", "'ю'", "'я'", "'ё'", "'0'e");
$replace= array ('Ё', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'ё', '0');
return preg_replace ($search,$replace,$path);
}
function x_size ($path,$width,$font_size,$one_point){
global $korr_line;
$font_size = $font_size/$korr_line;
return $width-$one_point-strlen($path)*$font_size;
}
function Create_images ($width,$height,$font,$font_size,$img_new,$one_point){
global $user_online, $host_stat_day, $hit_stat_day, $korr_type;
$im = ImageCreate ($width,$height);
ImageInterlace ($im, 1);
$bgcolor = ImageColorAllocate($im, 255, 255, 255);
$bgcolortrans = ImageColorTransparent($im, $bgcolor);
// если закомментировать эту строку '#', то не будет рамки
$blue = ImageColorAllocate($im, 20, 93, 233);
// красный цвет
$red = ImageColorAllocate($im, 255, 0, 0);
// цвет слов
$black = ImageColorAllocate($im, 0, 0, 0);
// что написано в 1 строке
$stroka1 = replace_cyr("Статистика сайта...");
// что написано во 2 строке
$stroka2 = replace_cyr("Онлайн:");
// что написано в 3 строке
$stroka3 = replace_cyr("Хостов:");
// что написано в 4 строке
$stroka4 = replace_cyr("Хитов:");
$font_size = round ($height/4.5);
$point = $font_size;
$font_size_c = round ($font_size*$korr_type);
$width_a = $width-1;
$height_a = $height-1;
ImageRectangle ($im, 0, 0, $width_a, $height_a, $blue);
$point=$font_size;
ImageTtfText ($im, $font_size_c, 0, $one_point, $point, $black, $font, $stroka1);
$point=2*$font_size;
ImageTtfText ($im, $font_size_c, 0, $one_point, $point, $black, $font, $stroka2);
$x_size = x_size ($user_online,$width,$font_size, $one_point);
ImageTtfText ($im, $font_size_c, 0, $x_size, $point, $red, $font, $user_online);
$point=3*$font_size;
ImageTtfText ($im, $font_size_c, 0, $one_point, $point, $black, $font, $stroka3);
$x_size = x_size ($host_stat_day,$width,$font_size, $one_point);
ImageTtfText ($im, $font_size_c, 0, $x_size, $point, $red, $font, $host_stat_day);
$point=4*$font_size;
ImageTtfText ($im, $font_size_c, 0, $one_point, $point, $black, $font, $stroka4);
$x_size = x_size ($hit_stat_day,$width,$font_size, $one_point);
ImageTtfText ($im, $font_size_c, 0, $x_size, $point, $red, $font, $hit_stat_day);
ImagePng ($im,$img_new);
ImageDestroy ($im);
return true;
}
// эта строка запишет в файл 'banner_ttf.png' картинку
Create_images ($width,$height,$font,$font_size,$img_new,$one_point);
// печатаем html
print"
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>
<HTML><HEAD><TITLE></TITLE></HEAD>
<BODY>
<p> </p><img src='banner_ttf.png'>
</BODY></HTML>";
?>