PHP GD在透明图像后面设置图像


PHP GD Set image behind transparent image

我需要把一个图像放在另一个透明的图像后面。解释这一点的另一种方法是更改首先显示的内容的优先级。也许是一层?我的代码将背景(bg.png)放在透明图像(sig.png)的顶部/前面:

header( 'Content-Type: image/png' );
$im = imagecreatefromstring( file_get_contents( 'public/sig.png' ) );
imagealphablending( $im, true );
imagesavealpha( $im, true );
$temp = imagecreatefromstring( file_get_contents( 'public/bg.png' ) );
imagecopy( $im, $temp, 34, 88, 0, 0, 850, 300 );
imagepng( $im );
imagedestroy( $im );

将调用中的前两个参数切换为imagecopy将修复绘制顺序(您可能也需要更新其他参数):

imagecopy($temp, $im, 34, 88, 0, 0, 850, 300);
imagepng($temp);

如手册所述,imagecopy可用于:

src_im的一部分复制到dst_im上。。。

src_im第二个参数,dst_im第一个

我创建了以透明背景为基础的自定义图像,然后将其他两个图像(背景和主要内容)合并在一起。

谢谢。