0

好吧,我正在尝试在图像中写文字,我有这个:

header("Content-type: image/png");
$font = 4;
$width = ImageFontWidth($font) * strlen($string);
$height = ImageFontHeight($font);

$im = @imagecreate($width,$height);
$background_color = imagecolorallocatealpha($im, 255, 255, 255, 127);
$text_color = imagecolorallocate($im, 0, 0,0); 
imagestring($im, $font, 0, 0, utf8_decode($string), $text_color);
imagepng($im);
imagedestroy($im);

和字符串:

$string = "Hello, My name is Ikillnukes and I'm trying to do a newline with PHP.";

好吧,我想用输出做到这一点:

正常输出:您好,我的名字是 Ikillnukes,我正在尝试用 PHP 换行。

我想要的:

你好,我的名字是 Ikillnukes 和

我正在尝试用 PHP 换行。

我怎样才能做到这一点?

还有一件事......我想在字符串中添加一些粗体文本我该怎么做?

4

1 回答 1

1

首先,imagestring不做自动换行。你必须自己做。

这意味着您需要知道特定字符串的像素长度。这是imagettfbox你的朋友。

在文档中imagettfbox是一个很好且全面的示例,如何自动包装字符串以匹配图像宽度:PHP 文档中 a2hansolo 的示例

对于粗体书写的问题,请查看关于 的文档imagettftext,尤其是mirza_aqueel_qau 的示例

于 2013-07-02T08:18:49.417 回答