imagettftext вывод текста на картинку php

284
21 июня 2017, 01:54

Здраствуйте, у меня возник вопрос.

Я подобрал картинку и вывел текст на неё. НО текст иногда может заходить за границы картинки, тем самым пропадает часть текста, пример текста:

"Приходит мужик в ресторан и заказывает ведро помоев, ну официанты  
  на уши приносят ему то что он заказал ну и смотрят.  А  мужик  берет  
  седает ведерко и делает заказ там бифштекс, салатику, коньячку и т.д. 
  Hу тут  уже официанты не выдержали и спрашиваю:
     - Простите, но зачем вам понадобилось седать ведро помоев перед 
     всем этим?"

и код обработчик:

  //Set the Content Type
  header('Content-type: image/png');
  // Create Image From Existing File
  $jpg_image = imagecreatefrompng('imgdf/backfun.png');
  // Allocate A Color For The Text
  $white = imagecolorallocate($jpg_image, 0, 0, 0);
  // Set Path to Font File
  $font_path = 'font1.ttf';
  // Set Text to Be Printed On Image
  $text = " Приходит мужик в ресторан и заказывает ведро помоев, ну официанты  
  на уши приносят ему то что он заказал ну и смотрят.  А  мужик  берет  
  седает ведерко и делает заказ там бифштекс, салатику, коньячку и т.д. 
  Hу тут  уже официанты не выдержали и спрашиваю:
     - Простите, но зачем вам понадобилось седать ведро помоев перед 
     всем этим?";
  // Print Text On Image
  imagettftext($jpg_image, 20, 0, 10, 100, $white, $font_path, $text);
  // Send Image to Browser
  imagepng($jpg_image);
  // Clear Memory
  imagedestroy($jpg_image);

Вопрос:

Картинка имеет размер - 800*480(px)

Как можно ограничить (сделать границы), для выводимого текста, чтобы текст не выезжал за пределы картинки, а чтобы переносился на новую строку?

Answer 1

Можете выводить через <pre>, для этого храните ваши строчки с нужной длиной.

<?php
$text = "
  Приходит мужик в ресторан и заказывает ведро помоев, ну официанты  
  на уши приносят ему то что он заказал ну и смотрят.  А  мужик  берет  
  седает ведерко и делает заказ там бифштекс, салатику, коньячку и т.д. 
  Hу тут  уже официанты не выдержали и спрашиваю:
  - Простите, но зачем вам понадобилось седать ведро помоев перед 
    всем этим?";  
echo "<pre>{$text}</pre>";

2) Можете подобрать шрифт и рассчитать нужную длину строки. Брать столько символов и возвращаться назад, искать начало последнего слова, его переносить и брать следующую строку.

3) Просто поставьте jQuery ;D https://htmler.ru/2013/12/07/jquery-perenosy-russkogo-teksta/

READ ALSO
удалить фото ajax

удалить фото ajax

Здравствуйте! Есть ряд картинок (галерея), подскажите как сделать так чтобы при нажатии на картинку всплывал запрос на удаления и после одобрения...

172
Как оставить слово из квадратных скобок

Как оставить слово из квадратных скобок

Дается задание на php, квадратные скобки убрал с помощью регулярных выраженииНапишите скрипт, который выявляет слова в квадратных скобках...

238
exe файл из PHP скрипта

exe файл из PHP скрипта

Собственно сабжВозможно ли такое вообще? Из php скрипта в составе которого есть js html css и который соединен с mysql сделать exe файл

207