imagelayereffect

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

imagelayereffectActiva la opción de mezcla alfa para utilizar los efectos de libgd

Descripción

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

Activa la opción de mezcla alfa para utilizar los efectos de libgd.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

effect

Una de las constantes siguientes:

IMG_EFFECT_REPLACE
Utiliza el reemplazo de píxeles (equivalente a pasar true a la función imagealphablending())
IMG_EFFECT_ALPHABLEND
Utiliza la mezcla normal de píxeles (equivalente a pasar false a la función imagealphablending())
IMG_EFFECT_NORMAL
Idéntico a la constante IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
El overlay tiene como efecto que los píxeles negros del fondo permanecerán negros, los blancos del fondo permanecerán blancos, pero los grises del fondo tomarán el color del píxel del primer plano.
IMG_EFFECT_MULTIPLY
Overlay con un efecto de multiplicación.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Historial de cambios

Versión Descripción
8.0.0 image expects a GdImage instance now; previously, a valid gd resource was expected.
7.2.0 Añadida la constante IMG_EFFECT_MULTIPLY (requiere la libgd del sistema >= 2.1.1 o la libgd integrada).

Ejemplos

Ejemplo #1 Ejemplo con imagelayereffect()

<?php
// Creación de una imagen
$im = imagecreatetruecolor(100, 100);

// Define el fondo
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Aplica el overlay
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Dibuja 2 elipses grises
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));

// Visualización
header('Content-type: image/png');

imagepng($im);
?>

El resultado del ejemplo sería algo similar a:

Visualización del ejemplo: imagelayereffect()