1

我有一个问题,当我将动态文本插入现有图像时,我的意思是在图像中创建动态文本,代码如下:

<?
include("header.php");
include("menu.php");

     $rImg = imagecreatefrompng("../images/test.php");
     $cor = imagecolorallocate($rImg, 0, 0, 0);
     imagestring($rImg,5,126,22,"test",$cor);
     imagejpeg($rImg,NULL,100);

include("btSlider.php");
include("footer.php");
?>

但我有一个问题,我不想使用标题输出header('Content-type: image/png');上面的代码向我展示了垃圾值。如果我想显示以下代码的图像,我应该怎么做。

如果我运行它,它的工作

<?
     $rImg = imagecreatefrompng("../images/test.php");
     $cor = imagecolorallocate($rImg, 0, 0, 0);
     imagestring($rImg,5,126,22,"test",$cor);
     header('Content-type: image/png');
     imagejpeg($rImg,NULL,100);
?>

我想添加页眉和页脚我怎么能这样做并在页眉和页脚包含的文件上显示图像并保存rImg varaiable.

我是 php 的初学者,为什么我会遇到困难。

更新:我也想知道如何在图像上输入多个文本?

提前致谢。

4

2 回答 2

2

图像生成代码应该在它自己的文件中。然后,您可以使用 HTML 引用 php/image src。

图像.php

<?php
   $rImg = imagecreatefrompng("../images/test.php");
   $cor = imagecolorallocate($rImg, 0, 0, 0);
   imagestring($rImg,5,126,22,"test",$cor);
   //header('Content-type: image/png');
   header('Content-type: image/jpeg');
   //imagepng($rImg,NULL,100);
   imagejpeg($rImg,NULL,100);

the_page.php

<?php

    include("header.php");
    include("menu.php");
    include("btSlider.php");
    include("footer.php");

header.php/footer.php

<img src="image.php" alt="This is the php generated image" >

注意在您的代码示例中,您发送的是 png 标头header('Content-type: image/png');并使用imagejpeg($rImg,NULL,100);

于 2013-08-01T18:56:34.907 回答
2

如果您希望将图像嵌入到您的页面上,您可以使用 dataurl 作为您的图像源。

<?php
     $rImg = imagecreatefrompng("../images/test.php");
     $cor = imagecolorallocate($rImg, 0, 0, 0);
     imagestring($rImg,5,126,22,"test",$cor);
     ob_start();
     imagejpeg($rImg,NULL,100);
     $imgData = ob_get_clean();
?> 
<img src="data:image/jpeg;base64,<?= base64_encode($imgData); ?>"/>
于 2013-08-01T19:58:47.393 回答