Imagick::importImagePixels

(No version information available, might only be in Git)

Imagick::importImagePixelsImporta los píxeles de una imagen

Descripción

public Imagick::importImagePixels ( int $x , int $y , int $width , int $height , string $map , int $storage , array $pixels ) : bool

Importa los píxeles desde una matriz a un imagen. El mapa map normalmete es 'RGB'. Este método impone las siguientes limitaciones para los parámetros: la cantidad de píxeles en la matriz debe coincidir con width x height x longitud del mapa. Este método está disponible si Imagick ha sido compilado con la versión 6.4.5 o superior de ImageMagick.

Parámetros

x

La posición x de la imagen

y

La posición y de la imagen

width

El ancho de la imagen

height

El alto de la imagen

map

Mapa de píxeles ordenados, como una cadena. Esto puede ser por ejemplo RGB. El valor puede ser cualquier combinación u orden de R = rojo, G = verde, B = azul, A = alfa (0 es transparente), O = opacidad (0 es opaco), C = cian, Y = amarillo, M = magenta, K = negro, I = intensidad (para escala de grises), P = relleno.

storage

El método de almacenamiento de los píxeles. Consulte esta lista de constantes de píxel.

pixels

La matriz de píxeles

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Ejemplo deImagick::importImagePixels()

<?php

/* Generar una matriz de píxeles. 2000 píxeles por raya de color */
$cuenta 2000 3;

$píxeles 
   
array_merge(array_pad(array(), $cuenta0),
               
array_pad(array(), $cuenta255), 
               
array_pad(array(), $cuenta0),
               
array_pad(array(), $cuenta255),
               
array_pad(array(), $cuenta0));

/* Ancho y alto. El área es la cantidad de píxeles dividido
   por tres. Tres viene de 'RGB', tres valores por píxel */
$ancho $alto pow((count($píxeles) / 3), 0.5);

/* Crear una imagen vacía */
$im = new Imagick();
$im->newImage($ancho$alto'gray');

/* Importar los píxeles a la imagen.
   ancho * alto * strlen("RGB") debe coincidir con count($píxeles) */
$im->importImagePixels(00$ancho$alto"RGB"Imagick::PIXEL_CHAR$píxeles);

/* Imprimir como una imagen jpeg */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo 
$im;

?>

El resultado del ejemplo sería algo similar a:

Salida del ejemplo : Imagick::importImagePixels()