Php 在图像上写入的文本中插入分隔符

Php 在图像上写入的文本中插入分隔符,php,image,gd,php-gd,Php,Image,Gd,Php Gd,如果我用下面的代码在图片上写一个文本,代码会尝试在一行中键入所有文本。因此,文本从图像中溢出,如图1所示。我想把它写成如图2所示 如果php中有一个函数可以像图2中那样进行写操作,那么它是什么? 如果没有这样做的函数,我如何通过编写代码来实现呢?你能给我一个线索吗 $text = $_POST['text']; // Text comes from a form. $im = @imagecreate(700, 350) or die("Cannot Initialize new GD

如果我用下面的代码在图片上写一个文本,代码会尝试在一行中键入所有文本。因此,文本从图像中溢出,如图1所示。我想把它写成如图2所示

如果php中有一个函数可以像图2中那样进行写操作,那么它是什么?
如果没有这样做的函数,我如何通过编写代码来实现呢?你能给我一个线索吗

$text = $_POST['text']; // Text comes from a form.

$im = @imagecreate(700, 350)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagettftext($im, 22, 0, 5, 25,  $text_color, 'fonts/COOLVETICA RG.TTF', properText($text));
imagepng($im, 'image.png');
图1:


图2:


使用
imagettfbbox()
将其放入一个边界框中,然后文本将换行。在php.net上有一个完整的示例:


您必须根据字体大小和图像宽度进行测量,并设置每行字符数dynamically@DevZer0然后这个函数将单词拆分。如何防止它?GD是一个非常简单的库。如果你想要换行符,你必须自己把它们放进去,用不同的字符串块反复调用text函数并绘制坐标