在另一个GD图像中添加GD图像

时间:2016-06-28 05:34:01

标签: php gdlib

如何将使用GD创建的动态图像嵌入到使用GD生成的另一个动态图像中? 如果它们分开,两个文件都可以正常工作,但是当我尝试在另一个文件中使用它时它不起作用。

图片1:

<?php
header('Content-type: image/png');
$image1 = imagecreatefrompng('images/image1.png');

//add some texts to image 1

imagepng($image1);

imagedestroy($image1);
?>

图片2:

<?php
header('Content-type: image/png');
$image2 = imagecreatefrompng('images/image2.png');

//add some texts to image 2

imagepng($image2);

imagedestroy($image2);
?>

现在,如果我尝试使用image2.php中的image2.php中生成的图像:

<?php
header('Content-type: image/png');
$image1 = imagecreatefrompng('images/image1.png');
$image2 = imagecreatefromgd('image2.php');

//add some texts to image1
imagecopy($image1, $image2, $x, $y, $src_x, $src_y, $src_w, $src_h);

imagepng($image1);

imagedestroy($image1);
imagedestroy($image2);
?>

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

大!!在测试了不同的解决方案之后,这就是它的工作方式。基本上,使用GD生成的所有图像必须在同一文件中创建,才能将一个图像发送到浏览器:

<?php

header('Content-type: image/png');
$image1 = imagecreatefrompng('images/image1.png');
$image2 = createImage2();

//add some texts to image1
imagecopy($image1, $image2, $x, $y, $src_x, $src_y, $src_w, $src_h);

imagepng($image1);

imagedestroy($image1);
imagedestroy($image2);



function createimage2() {
    $image2 = imagecreatefrompng('images/image2.png');

    //add some texts to image 2
    return $image2
?>