// Теперь вычисляем координаты базовой точки строки, чтобы
// она располагалась точно по центру поля картинки
$x=$d+$Bnd[0]-min($X)+2;
$y=$d+$Bnd[1]-min($Y)+2;
// Создаем рисунок нужного размера
$im = imageCreate($MX,$MY);
// Создаем в палитре новые цвета
$black = imageColorHex($im, 0); // черный (тень)
$back = imageColorHex($im, $b); // задний план
$front = imageColorHex($im, $c); // цвет букв
// Очищаем задний план
imageFill($im,0,0,$back);
imageRectangle($im,0,0,$MX-1,$MY-1,$black);
// Выводим тень от текста
imagettftext($im,$s,$a,$x+2,$y+2,$black,getcwd()."/$f.ttf",$text);
// Выводим текст
imagettftext($im,$s,$a,$x,$y,$front,getcwd()."/$f.ttf",$text);
// Выводим рисунок в браузер
Header("Content-type: image/png");
imagePng($im);
?>
Сценарий из листинга 23.3 (назовем его ttf.php)
генерирует картинку с заданным цветом заднего плана, в которую выводится указанная строка с тенью. При этом используется TrueType-шрифт, а также определяются размер строки, угол ее наклона, цвет и т. д.
Формат вызова сценария имеет следующий общий вид:
ttf.php?a=Градусы&s=Размер&b=ЗаднийЦвет&c=Цвет&d=Зазор&f=Фонт&text=Текст
Ни один из этих параметров не является обязательным — в случае пропуска подставляются значения по умолчанию (см. листинг 23.3).
Необходимо заметить, что прежде, чем запускать сценарий, нужно скопировать TTF-файл со шрифтом в каталог, где расположена программа (например, взяв его из C:/WINDOWS/FONTS для платформы Windows). Параметр f задает имя этого файла без расширения, и ищется он в текущем каталоге. По умолчанию выбран шрифт Times.
![]() |