Нанесение текста на изображение. 2 способ

Рецепт №98. Из книги «128 рецептов php»
Перейти к оглавлению

В предыдущем рецепте, уже затрагивалась тема нанесения текста, только в примере присутствовал один серьезный недостаток – отсутствовала возможность нанесения на изображение кириллического текста. Этот рецепт исправит недостаток предыдущего. Для нанесения текста в любой кодировке и в любом языке возможно при использовании сторонних шрифтов. В реализации примера используется функция — imagettftext. Она может принимать несколько значений: размер текста в пикселях, цвет, начало текста относительно координат по осям X и Y, сам наносимый текст и самое главное, файл шрифта, который позволит наносить текст в нужной кодировке.

Пример:

$width = 200; // ширина изображения
$height = 100; // высота изображения
// создаем изображение, на котором будем рисовать 
$img = imagecreatetruecolor($width, $height);
// цвет заливки фона
$rgb = 0xFFFFFF; 
// заливаем холст цветом $rgb
imagefill($img, 0, 0, $rgb); 

// путь к шрифту
$fontName = "impact.ttf"; 
// размер шрифта
$fontSise = 18; 
$x = 50; // отступ слева
$y = 50; // отступ справа
// текст, который будем наносить на картинку
// \n обозначает переход на новую строку
$text = "Текст кир\nиллица"; 
$textColor = 0x000000; // цвет шрифта
// нанесение текста
imagettftext(
$img, $fontSise, 0, $x, $y, 
$textColor, $fontName, $text
);
	
// заголовок для браузера
header("Content-Type: image/png");
// выводим результат в браузер
imagepng($img); 
// очищаем память после выполнения скрипта
imagedestroy($img);
Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*