Documentación offline PHP master

Imagick::sparseColorImage

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Imagick::sparseColorImage

Interpola colores

Descripción#

public Imagick::sparseColorImage(int $SPARSE_METHOD, array $arguments, [int $channel]): bool
```php

Dada la matriz de argumentos que contiene valores númericos, este método interpola los colores encontrados en esas coordenadas a través de la imagen completa usando `sparse_method`. Este método solo está disponible si Imagick ha sido compilado con ImageMagick versión 6.4.5 o superior.

## Parámetros

`SPARSE_METHOD`  
Consulte esta lista de [constantes de métodos de escasez](#imagick.constants.sparsecolormethod)

`arguments`  
Una matriz que contiene las coordenadas. El formato de la matriz es `array(1,1, 2,45)`

`channel`  
Proporciona una constante de canal válida para su modo de canal. Para aplicarlo a más de un canal, combínense las [constantes de canales](#imagick.constants.channel) utilizando un operador a nivel de bits. Por defecto, vale `Imagick::CHANNEL_DEFAULT`. Consúltese la lista de [constantes de canales](#imagick.constants.channel)

## Valores devueltos

Devuelve `true` en caso de éxito.

## Errores/Excepciones

Lanza una ImagickException en caso de error.

## Ejemplos

SPARSECOLORMETHOD_BARYCENTRIC `Imagick::sparseColorImage`
getImageBlob(); } ?>
SPARSECOLORMETHOD_BILINEAR `Imagick::sparseColorImage`
getImageBlob(); } ?>
SPARSECOLORMETHOD_SPEPARDS `Imagick::sparseColorImage`
getImageBlob(); } ?>
SPARSECOLORMETHOD_VORONOI `Imagick::sparseColorImage`
getImageBlob(); } ?>
SPARSECOLORMETHOD_BARYCENTRIC `Imagick::sparseColorImage`
getImageBlob(); } ?>
createGradientImage is used by other examples. `Imagick::sparseColorImage`
newImage($width, $height, "white"); $imagick->setImageFormat("png"); $barycentricPoints = array(); foreach ($colorPoints as $colorPoint) { if ($absolute == true) { $barycentricPoints[] = $colorPoint[0]; $barycentricPoints[] = $colorPoint[1]; } else { $barycentricPoints[] = $colorPoint[0] * $width; $barycentricPoints[] = $colorPoint[1] * $height; } if (is_string($colorPoint[2])) { $imagickPixel = new \ImagickPixel($colorPoint[2]); } else if ($colorPoint[2] instanceof \ImagickPixel) { $imagickPixel = $colorPoint[2]; } else{ $errorMessage = sprintf( "Value %s is neither a string nor an ImagickPixel class. Cannot use as a color.", $colorPoint[2] ); throw new \InvalidArgumentException( $errorMessage ); } $red = $imagickPixel->getColorValue(\Imagick::COLOR_RED); $green = $imagickPixel->getColorValue(\Imagick::COLOR_GREEN); $blue = $imagickPixel->getColorValue(\Imagick::COLOR_BLUE); $alpha = $imagickPixel->getColorValue(\Imagick::COLOR_ALPHA); $barycentricPoints[] = $red; $barycentricPoints[] = $green; $barycentricPoints[] = $blue; $barycentricPoints[] = $alpha; } $imagick->sparseColorImage($sparseMethod, $barycentricPoints); return $imagick; } ?>

```php