(No version information available, might only be in Git)
Imagick::importImagePixels — Importe des pixels dans une image
$x
, int $y
, int $width
, int $height
, string $map
, int $storage
, array $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;
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :