我想创建一个包含文字的图像,其中字母间距适应,因此文本将在给定空间内拉伸。我的目标是将文本分割成最大x毫米的行,并证明文本的正确性(增加字母间距)。
以下是当前输出的示例:
这应该是它的样子:
这是我目前的代码:
function ImageStringWrap($image, $font, $x, $y, $text, $color, $maxwidth, $textcolor)
{
$fontwidth = ImageFontWidth($font);
$fontheight = ImageFontHeight($font);
if ($maxwidth != NULL) {
$maxcharsperline = floor($maxwidth / $fontwidth);
$text = wordwrap($text, $maxcharsperline, "\n", 1);
}
$lines = explode("\n", $text);
while (list($numl, $line) = each($lines)) {
$fontfile = imageloadfont('app_global/ttf/verdana.ttf');
ImageString($image, 14, $x, $y, $line, $color);
#Imagettftext ($image, 14 , 0, $x , $y , $color , $fontfile , $line );
$y += $fontheight;
}
$hight = 20*count($lines);
imageline ($image , 10 , 5 , 290, 5 , $textcolor );
imageline ($image , 10 , $hight , 290, $hight , $textcolor );
}
header("Content-type: image/png");
$string = urldecode($_GET['text']);
$im = imagecreate(300, 150);
// White background and blue text
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 0);
#imageline ($im , 0 , 10 , 200, 0 , $textcolor );
// Write the string at the top left
#imagestring($im, 11, 10, 10, $string, $textcolor);
ImageStringWrap($im, 11, 10, 10, $string, $textcolor, ImageSX($im), $textcolor);
我怎么能用php实现这个目标?
使用评论部分中提到的php.net网站的代码,我确实得到了一些非常接近的内容,但是文字看起来很模糊: