2017-01-08 2 views
2

Я пытаюсь написать текст на изображении и отобразить это изображение в браузере. Я пробовал код ниже, но он работает неправильно. Ниже код показывает один пустой квадрат (без изображения). Кто-нибудь может сказать, что я здесь делаю.не удалось распечатать текст на картинке

<?php 
header('Content-type: image/jpeg'); 
$jpg_image = imagecreatefromjpeg('images/travel.jpg'); 
$white = imagecolorallocate($jpg_image, 255, 255, 255); 
$text = "This is a sunset!"; 
imagettftext($jpg_image, 25, 0, 75, 300, $white, $text); 
imagejpeg($jpg_image); 
imagedestroy($jpg_image); 

?>

ответ

2

Проблема в коде эта линия

imagettftext($jpg_image, 25, 0, 75, 300, $white, $text); 

Как уже упоминалось в док http://www.php.net/manual/en/function.imagettftext.php вы должны пройти FONT путь к файлу слишком

Так просто изменение строка

imagettftext($jpg_image, 15, 0, 15, 15, $white, 'Roboto-Bold.ttf',$text); 

и поместите файл шрифта в папку, и он будет работать.

Если вы не хотите, чтобы файл шрифта заменить строку

imagettftext($jpg_image, 25, 0, 75, 300, $white, $text); 

С

imagestring($jpg_image,15,15,15,$text,$white); 

Ваш код будет

<?php 
header('Content-type: image/jpeg'); 
$jpg_image = imagecreatefromjpeg('https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQf66Ol6NAa6sdNhDJT0z1fVfTmjPjxAHkopPwExZ9AqHSqNzHP'); 
$white = imagecolorallocate($jpg_image, 255, 255, 255); 
$text = "This is a sunset!"; 
imagestring($jpg_image,15,15,15,$text,$white); 
imagejpeg($jpg_image); 
imagedestroy($jpg_image); 
?> 

Это будет работать для вас

+0

Я заменил imagettftext ($ jpg_image, 15, 0, 15, 15, $ белый, «Roboto-Bold.ttf», $ text); с изображением ($ jpg_image, 15,15,15, $ text, $ white); но все же он не работает. Получение такого же результата. – Archana

+0

У вас есть «images/travel.jpg» в вашей папке. Я отредактировал свой ответ, посмотрите –

+0

Спасибо за помощь. Над кодом работает для меня. Но что мне делать, если я хочу предоставить изображение из папки изображений? – Archana

Смежные вопросы