(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::importImagePixels — Importa los píxeles de una imagen
$x
,$y
,$width
,$height
,$map
,$storage
,$pixels
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 solo está disponible si Imagick ha sido compilado con ImageMagick versión 6.4.5 o superior.
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
Devuelve true
en caso de éxito.
Lanza una excepción ImagickException si ocurre un error.
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(), $cuenta, 0),
array_pad(array(), $cuenta, 255),
array_pad(array(), $cuenta, 0),
array_pad(array(), $cuenta, 255),
array_pad(array(), $cuenta, 0));
/* 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(0, 0, $ancho, $alto, "RGB", Imagick::PIXEL_CHAR, $píxeles);
/* Imprimir como una imagen jpeg */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;
?>
Resultado del ejemplo anterior es similar a :