Imagick::floodFillPaintImage
(No hay información de versión disponible, podría estar únicamente en SVN)
Imagick::floodFillPaintImage — Cambia el valor del color de cualquier píxel que coincida con el objetivo
Descripción
$fill
, float $fuzz
, mixed $target
, int $x
, int $y
, bool $invert
[, int $channel = Imagick::CHANNEL_DEFAULT
] )Cambia el valor del color de cualquier píxel que coincida con el objetivo y esté en el área inmediata. Este método es un sustituto del método obsoleto Imagick::paintFloodFillImage(). Este método está disponible si Imagick ha sido compilado con la versión 6.3.8 o superior de ImageMagick.
Parámetros
-
fill -
Objeto ImagickPixel o una cadena que contiene el color de relleno
-
fuzz -
La cantidad de difusión. Por ejemplo, setee fuzz a 10 y el color rojo a intensidades de 100 y 102 respectivamente son ahora interpretados como el mismo color.
-
target -
Objeto ImagickPixel o una cadena que contiene el color objetivo a dibujar
-
x -
Posición X del inicio del relleno
-
y -
Posición Y del inicio del relleno
-
invert -
Si es
TRUEse pinta cualquier píxel que no coincida con el color objetivo. -
channel -
Proporciona cualquier contante de canal que sea válida para su modo de canal. Para aplicarlo a más de un canal, combine constantes de canal using bitwise operadores bit a bit. El valor por defecto para
Imagick::CHANNEL_DEFAULT. Referirse a esta lista de constantes de canal
Valores devueltos
Devuelve TRUE en caso de éxito.
Ejemplos
Ejemplo #1 Ejemplo de Imagick::floodfillPaintImage()
<?php
/* Crear un nuevo objeto imagick */
$im = new Imagick();
/* Crear imágenes de color rojo, verde y azul */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");
/* Añadir las imágenes para que sean una */
$im->resetIterator();
$combinado = $im->appendImages(true);
/* Guardar la imagen intermedia para la comparación */
$combinado->writeImage("floodfillpaint_intermedia.png");
/* El píxel objetivo a pintar */
$x = 1;
$y = 1;
/* Obtener el color con el que vamos a pintar */
$objetivo = $combinado->getImagePixelColor($x, $y);
/* Pinta el píxel en la posición 1,1 negro y todos los píxeles
cercanos que coincidan con el color objetivo */
$combinado->floodfillPaintImage("black", 1, $objetivo, $x, $y, false);
/* Guardar el resultado */
$combinado->writeImage("floodfillpaint_resultado.png");
?>
El resultado del ejemplo sería algo similar a: