(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::importImagePixels — Importa pixels de imagem
$x,$y,$width,$height,$map,$storage,$pixels
Importa pixels de um array para uma imagem. O parâmetro map geralmente é
'RGB'. Este método impõe as seguintes restrições para os parâmetros: a quantidade de pixels
no array deve corresponder a width (largura) x height (altura) x comprimento do mapa.
Este método estará disponível se a extensão Imagick tiver sido compilada com a ImageMagick versão 6.4.5 ou superior.
xA posição X da imagem
yA posição Y da imagem
widthA largura da imagem
heightA altura da imagem
map
Mapa de ordenação de pixels como uma string. Pode ser, por exemplo, RGB.
O valor pode ser qualquer combinação ou ordem de R = vermelho, G = verde, B = azul, A = alfa (0 é transparente),
O = opacidade (0 é opaco), C = ciano, Y = amarelo, M = magenta , K = preto, I = intensidade (para tons de cinza), P = preenchimento.
storageO método de armazenamento de pixels. Consulte a lista de constantes de pixels.
pixelsO array de pixels.
Retorna true em caso de sucesso.
Lança uma exceção ImagickException em caso de erro.
Exemplo #1 Exemplo de Imagick::importImagePixels()
<?php
/* Gera array de pixels. 2000 pixels por faixa de cor */
$count = 2000 * 3;
$pixels =
array_merge(array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0));
/* Largura e altura. A área é a quantidade de pixels dividida
por três. Três vem de 'RGB', três valores por pixel */
$width = $height = pow((count($pixels) / 3), 0.5);
/* Cria imagem vazia */
$im = new Imagick();
$im->newImage($width, $height, 'gray');
/* Importa os pixels na imagem.
largura * altura * strlen("RGB") precisa corresponder a count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);
/* exibe como imagem JPEG */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;
?>O exemplo acima produzirá algo semelhante a: