html可以与php中动态生成的图像一起使用吗?

我正在使用此代码创建图像

<?php

 // Set the content-type
 header('Content-Type: image/png');

 // Create the image
 $im = imagecreatetruecolor(400, 30);

 // Create some colors
 $white = imagecolorallocate($im, 255, 255, 255);
 $grey = imagecolorallocate($im, 128, 128, 128);
 $black = imagecolorallocate($im, 0, 0, 0);
 imagefilledrectangle($im, 0, 0, 399, 29, $white);

 // The text to draw
 $text = 'Testing...';
 // Replace path by your own font path
 $font = 'arial.ttf';

 // Add some shadow to the text
 imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

  // Add the text
  imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

  // Using imagepng() results in clearer text compared with imagejpeg()
  (A)print ('<div class="test">');
  imagepng($im);
  print ('</div>');
  (B)imagedestroy($im);
  ?>

如果我注释行号“ A”和“ B”,该代码将正常工作,并且在浏览器上生成图像并进行测试.但我希望图像在div中.所以我取消注释行(A)和(B),但它没有给出正确的输出.生成的html也很奇怪生成的html是

<img src="http://localhost/php/test92.php" alt="The image “http://localhost/php/test92.php” cannot be displayed, because it contains errors.">

解决方法:

基本上,要在HTML中创建动态图像,您将需要2个PHP文件:

>一个用于图像本身
>另一个PHP可以显示它.

让我们来看看如何做:

>您创建接受参数的image.php,例如:图像ID或文件名.出于安全原因,您必须过滤它得到的任何参数.

Why you have to do this? because, to generate image, you can’t mix it with another HTML output. Let alone a single space or return as this will render the image broken.

>您在另一个PHP上执行HTML任务,例如test92.php.此处的HTML逻辑如下:

>获取图像数据
>循环数据
>显示图片=> < img src =“ image.php?imageID = 12” alt =“” />

上一篇:php-目录中的GD图像批处理


下一篇:php-调整图像大小并显示而不保存