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


Add GD image inside another GD image

如何将使用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);
?>

现在,如果我尝试在image1.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);
?>

任何想法?谢谢!

太棒了!在测试了不同的解决方案后,它是这样工作的。基本上,使用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
?>