Imagick::importImagePixels

(No version information available, might only be in SVN)

Imagick::importImagePixelsImporte des pixels dans une image

Description

public bool Imagick::importImagePixels ( int $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 à :

Sortie de l'exemple : Imagick::importImagePixels()

LoadingChargement en cours