用PHP按特定顺序合并多个PNG图像


Merging multiple PNG images in a specific order with PHP

我在sofs上发现了这段代码,它将PNG图像与透明度合并在一起:

$imgl = "thumb/pattern.png";
$img2 = "thumb/frame.png";
$dest = imagecreatefrompng($imgl);
$src = imagecreatefrompng($img2);
imagecolortransparent($src, imagecolorat($src, 0, 0));
$src_x = imagesx($src);
$src_y = imagesy($src);
imagecopymerge($dest, $src, 0, 0, 0, 0, $src_x, $src_y, 100);
// Output and free from memory
header('Content-Type: image/png');
imagegif($dest);
imagedestroy($dest);
imagedestroy($src);

然而,我有多个想要合并的图像,并且我想按照特定的顺序合并这些图像。我如何修改这段代码来做到这一点呢?

未经过测试,但您大致了解了。注意内存限制和执行时间限制

$imgl = "thumb/pattern.png";
$img = imagecreatefrompng($imgl);
$aImg = array('img2.png','img3.png');
foreach($aImg as $sImg){
 $src = imagecreatefrompng($sImg);
 imagecolortransparent($src, imagecolorat($src, 0, 0));
 $src_x = imagesx($src);
 $src_y = imagesy($src);
 imagecopymerge($dest, $src, 0, 0, 0, 0, $src_x, $src_y, 100);
}