(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.
x
A posição X da imagem
y
A posição Y da imagem
width
A largura da imagem
height
A 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.
storage
O método de armazenamento de pixels. Consulte a lista de constantes de pixels.
pixels
O 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: