📜  PHP | imagelayereffect()函数(1)

📅  最后修改于: 2023-12-03 15:18:23.953000             🧑  作者: Mango

PHP | imagelayereffect()函数

imagelayereffect()函数是PHP图像处理中的一项功能,它可以设置图像合成时的混合效果。该函数被用于将一张图片合并到另一张图片上,可以用于制作图片水印等。

语法
imagelayereffect ( resource $image , int $effect )
参数
  • $image:由imagecreatefrom*()函数创建的图像资源。
  • $effect:混合效果的类型,可以是以下几种取值之一:

取值 | 意义 ---|--- IMG_EFFECT_REPLACE | 用新的颜色替换原有的颜色。 IMG_EFFECT_ALPHABLEND | 使用 alpha 透明度混合。 IMG_EFFECT_NORMAL | 没有任何混合效果。默认取值。

示例

以下是一个简单的例子,展示如何在一张图片上设置合成效果,具体实现了将两张图片合并的效果。其中,first_image.pngsecond_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()和后续合成操作之间有效。
  • 混合效果只影响当前图像的一个分层。在将两个图像合并时,需要为每个图像分别设置混合效果。
参考资料