2014-10-04 143 views

回答

2

可不可以给有关的更多信息:“不工作”

我建议你看一看:imagecopyresampled

的代码,你必须加载图像作为图像ressources,所以你可以使用类似的东西:

$im1 = imagecreatefrompng($path.'image1.png'); 
$im2 = imagecreatefrompng($path.'image2.png'); 

imagecopyresampled($im1,$im2,250,150,0,0,100,150,100,150); 
unset($im2); 
$im3 = imagecreatefrompng($path.'image3.png'); 

imagecopyresampled($im1,$im3,550,150,0,0,100,150,100,150); 
unset($im3); 

所以$ im1现在有3张图片。

只要确保取消设置图像资源,因为你会用尽内存。

编辑:我用imagecopyresampled,因为图像2-3似乎在最后一张图像较小,我不知道它是多少资源密集型,我想imagecopymerge也可以工作。

+0

我试过这个代码: <?php $ im1 = imagecreatefrompng('image1.png'); $ im2 = imagecreatefrompng('image2.png'); imagecopyresampled($ im1,$ im2,250,150,0,0,100,150,100,150); 未设置($ im2); $ im3 = imagecreatefrompng('image3.png'); imagecopyresampled($ im1,$ im3,550,150,0,0,100,150,100,150); 未设置($ im3); ?> 但将空白页作为输出 – Sreeraj 2014-10-05 04:54:30

+0

是的,图像已创建,但不会显示在页面上。 尝试添加: 'header('Content-Type:image/png'); imagepng($ im1);' – Lamonde 2014-10-05 15:37:59

+0

此外,如果你想输出一个文件,你可以使用'imagepng('images/name.png');'没有'header'部分。 – Lamonde 2014-10-06 12:48:43