Я использовал PHP и библиотеку GD для создания кода, который получает строку в качестве входных данных и разбивает ее на строки, чтобы она могла поместиться в изображении.Проблема в том, что в зависимости от того, какой текст я набираю, он останавливается в произвольной точке.Например, используя следующий текст в качестве входных данных:
Lorem ipsum dolor sit amet, consitteur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea кассовый след.Duis aute irure dolor в репереендерит в завитке Velit esse cillum dolore eu fugiat nulla pariatur.Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est labour.
выходное изображение выглядит так:
Мой код такой:
<?php
function createStory($content){
$text = $content;
$jpg_image = imagecreatefromjpeg('imagebuilder/footage/story1.jpg');
$white = imagecolorallocate($jpg_image, 255, 255, 255);
$font_path = 'Arial.ttf';
$words = explode(" ",$text);
$proccessedtext = "";
$line = "";
$line .= $words[0] . " ";
for($i = 1; $i < count($words); $i++){
$bbox = imagettfbbox(25, 0, $font_path, $line);
$width = $bbox[4]-$bbox[0];
if($width<700){
$line .= $words[$i] . " ";
}else{
$proccessedtext .= $line . " \n".$words[$i]. " ";
$line = "";
}
}
imagettftext($jpg_image, 25, 0, 75, 600, $white, $font_path, $proccessedtext);
imagejpeg($jpg_image, "imagebuilder/created/readyStory.jpg");
imagedestroy($jpg_image);
return("/imagebuilder/created/readyStory.jpg");
}
?>
Есть ли ошибки в моем коде или это ошибка в библиотеке?