imagelayereffect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagelayereffect设定 alpha 混合标志以使用分层效果

说明

imagelayereffect(GdImage $image, int $effect): bool

设定 alpha 混色标志以使用分层效果。

参数

image

由图象创建函数(例如imagecreatetruecolor())返回的 GdImage 对象。

effect

下列常量之一:

IMG_EFFECT_REPLACE
使用像素替换(等同于将 true 传递给 imagealphablending()
IMG_EFFECT_ALPHABLEND
使用普通像素混合(等同于将 false 传递给 imagealphablending()
IMG_EFFECT_NORMAL
IMG_EFFECT_ALPHABLEND 相同。
IMG_EFFECT_OVERLAY
叠加(overlay)的效果是黑色背景像素将保持黑色,白色背景像素将保持白色,但灰色背景像素将采用前景像素的颜色。
IMG_EFFECT_MULTIPLY
Overlays with a multiply effect.

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
8.0.0 image 现在需要 GdImage 实例;之前需要有效的 gd resource
7.2.0 新增 IMG_EFFECT_MULTIPLY(要求系统 libgd >= 2.1.1 或捆绑 libgd)。

示例

示例 #1 imagelayereffect() 示例

<?php
// Setup an image
$im = imagecreatetruecolor(100, 100);

// Set a background
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Apply the overlay alpha blending flag
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Draw two grey ellipses
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Output
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

以上示例的输出类似于:

示例输出:imagelayereffect()