(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::importImagePixels — Importe des pixels dans une image
$x
,$y
,$width
,$height
,$map
,$storage
,$pixels
Importe des pixels depuis un tableau dans une image.
Le paramètre map
vaut générallement 'RGB'.
Cette méthode impose les contraintes suivantes pour les paramètres : le nombre de pixels
du tableau doit correspondre à la longueur width
x height
x
de la carte.
Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.5 ou supérieur.
x
La position en X de l'image.
y
La position en Y de l'image.
width
La largeur de l'image.
height
La hauteur de l'image.
map
La carte de l'ordre des pixels, sous la forme d'une chaîne de caractères.
Par exemple RGB
. La valeur peut être une combinaison
ou un ordre de R = rouge, G = vert, B = bleu, A = alpha (0 correspond à transparent),
O = opacité (0 correspond à opaque), C = cyan, Y = jaune, M = magenta, K = noir, I = intensité (pour les niveaux de gris), P = pad.
storage
La méthode de stockage des pixels. Référez-vous à la liste des constantes de pixels.
pixels
Le tableau de pixels.
Retourne true
en cas de succès.
Lance une exception ImagickException si une erreur survient.
Exemple #1 Exemple avec Imagick::importImagePixels()
<?php
/* Génère un tableau de pixels. 2000 pixels par bande de couleurs */
$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));
/* Largeur et hauteur. L'espace correspond aux pixels, divisés
par 3. 3 provient de 'RGB', 3 valeurs par pixel */
$width = $height = pow((count($pixels) / 3), 0.5);
/* Crée une image vide */
$im = new Imagick();
$im->newImage($width, $height, 'gray');
/* Importe les pixels dans l'image.
width * height * strlen("RGB") doit correspondre à count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);
/* Affiche l'image sous la forme d'une image jpeg */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;
?>
Résultat de l'exemple ci-dessus est similaire à :