0

我正在尝试创建一个函数来生成一个带有一些文本的矩形。

我有以下功能:

<?php
function  create_image()
{
 $im = @imagecreate(190, 190)or die("Cannot Initialize new GD image stream");
 $background_color = imagecolorallocate($im, 255, 255, 255);
 imagerectangle($im, 5, 5, $_SESSION['lungime'], 5+$_SESSION['latime'], $black);

 for ($i=1, $k=0; $i<=$_SESSION['rand'] ; $i++, $k=$k+12)
 imagettftext($im, 12, 0,5+x/2-(strlen($_SESSION['rand'.$i]))/2, 12+$k, $black, $_SESSION['fontr'.$i], $_SESSION['rand'.$i]);

 imagepng($im,"image.png");
 imagedestroy($im);
}
?>

我希望在 for 循环中生成的文本在矩形中居中。我不能用 strlen 来做,因为它返回字符串的字符数。我怎么能这样做?

在生成的圆圈中生成居中对齐的文本怎么样?

请帮我 !谢谢 !

4

1 回答 1

0

您可以使用 PHP 的 imagettfbbox 来获取您在 GD 中打印的文本的尺寸。然后只需一点数学就可以确定将左点设置在哪里。

于 2012-11-07T07:41:24.553 回答