我在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);
}