Imagick::importImagePixels
(No version information available, might only be in Git)
Imagick::importImagePixels — Importe des pixels dans une image
Description
$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.
Liste de paramètres
-
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.
Valeurs de retour
Returns TRUE on success.
Erreurs / Exceptions
Lance une exception ImagickException si une erreur survient.
Exemples
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 à :