Php 使用GD库创建带有动态文本的图像

Php 使用GD库创建带有动态文本的图像,php,image-processing,gd,Php,Image Processing,Gd,我正在使用GD库创建一个文本水印。问题是,当我给他们一个简短的文本,它会生成一个正常的图像,但当文本较大时,图像会变小。请告诉我如何根据文本创建图像,使其非常适合。这是我到目前为止使用的代码: if(isset($_GET['text']) && !empty($_GET['text']) ){ $text = $_GET['text']; $font = './NOTTB___.TTF'; $fontsize =

我正在使用GD库创建一个文本水印。问题是,当我给他们一个简短的文本,它会生成一个正常的图像,但当文本较大时,图像会变小。请告诉我如何根据文本创建图像,使其非常适合。这是我到目前为止使用的代码:

 if(isset($_GET['text']) && !empty($_GET['text']) ){

         $text = $_GET['text'];
         $font     = './NOTTB___.TTF';
         $fontsize = 20;
         $bbox   = imageftbbox($fontsize, 0, $font, $text);
         $width = $bbox[2] - $bbox[6];
         $height = $bbox[3] - $bbox[7];


         $my_img = imagecreate( $width, $height );
         $background = imagecolorallocate( $my_img, 0xff,0xff,0xff );
         $text_colour = imagecolorallocate( $my_img, 0x00,0x00,0x00 );
         imagecolortransparent($my_img, $background);

         //imagettftext($my_img, $fontsize, 0, 30, 25, $text_colour, $font, $text);
         imagefttext($my_img,$fontsize,0,-$bbox[6], -$bbox[7],$text_colour,$font,$text);

         header( "Content-type: image/png" );
         imagepng( $my_img );
         imagecolordeallocate( $text_colour );
         imagecolordeallocate( $background );
         imagedestroy( $my_img );

 }

我认为你的浏览器只是在缩小图像以适应你的窗口,你的代码没有问题。你能链接到两个显示这两种情况的示例图像吗?sammitch我如何与你分享示例以便你了解我的问题是的,你是对的cmorrissey。现在我从该图像中删除了宽度标记,它工作正常。谢谢