📅  最后修改于: 2023-12-03 15:18:23.953000             🧑  作者: Mango
imagelayereffect()
函数是PHP图像处理中的一项功能,它可以设置图像合成时的混合效果。该函数被用于将一张图片合并到另一张图片上,可以用于制作图片水印等。
imagelayereffect ( resource $image , int $effect )
$image
:由imagecreatefrom*()
函数创建的图像资源。$effect
:混合效果的类型,可以是以下几种取值之一:取值 | 意义
---|---
IMG_EFFECT_REPLACE
| 用新的颜色替换原有的颜色。
IMG_EFFECT_ALPHABLEND
| 使用 alpha 透明度混合。
IMG_EFFECT_NORMAL
| 没有任何混合效果。默认取值。
以下是一个简单的例子,展示如何在一张图片上设置合成效果,具体实现了将两张图片合并的效果。其中,first_image.png
和second_image.png
是两张需要进行合并的图片。
$first_image = imagecreatefrompng('first_image.png');
$second_image = imagecreatefrompng('second_image.png');
// 设置合成效果为IMG_EFFECT_ALPHABLEND(透明度混合)
imagelayereffect($first_image, IMG_EFFECT_ALPHABLEND);
// 将 $second_image 图片放置在 $first_image 的 (0,0) 坐标位置
imagecopy($first_image, $second_image, 0, 0, 0, 0, imagesx($second_image), imagesy($second_image));
// 输出图片
header('Content-Type: image/png');
imagepng($first_image);
imagelayereffect()
只对后续使用imagecopy()
,imagecopymerge()
,imagecopymergegray()
函数的合成操作生效。因此,在调用这些函数前,应当先调用imagelayereffect()
函数,以确保合成效果被正确地应用。$effect
参数必须在imagelayereffect()
和后续合成操作之间有效。