(PECL imagick 2.0.1)
Imagick::distortImage — Déforme une image avec différentes méthodes
$method
, array $arguments
, bool $bestfit
)
Déforme une image en utilisant différentes méthodes, en associant
des couleurs de l'image source à celle d'une image de destination,
généralement de la même taille, à moins que l'argument
bestfit
soit configuré à TRUE
.
Si bestfit
est activé, et que la déformation le permet,
l'image de destination est ajusté pour s'assurer que toute l'image source va
tenir dans l'image de destination, qui sera redimensionnée et repositionnée
en fonction. De plus, dans de nombreux cas, la position virtuelle de
l'image sera prise en compte dans l'association.
Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.3.6 ou supérieur.
method
La méthode de déformation de l'image. Voyez les constantes de déformation
arguments
Les arguments de cette méthode de déformation
bestfit
Tentative de redimensionnement de l'image de destination pour s'assurer de la taille
Returns TRUE
on success.
Lance une exception ImagickException si une erreur survient.
Exemple #1 Exemple avec Imagick::distortImage()
Déformation d'une image, et affichage sur le navigateur.
<?php
/* Crée un nouvel objet */
$im = new Imagick();
/* Crée un nouveau motif d'échiquier */
$im->newPseudoImage(100, 100, "pattern:checkerboard");
/* Configure l'image en PNG */
$im->setImageFormat('png');
/* Remplit la nouvelle zone visible à transparent */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
/* Active le mate */
$im->setImageMatte(true);
/* Contrôle les points de déformation */
$controlPoints = array( 10, 10,
10, 5,
10, $im->getImageHeight() - 20,
10, $im->getImageHeight() - 5,
$im->getImageWidth() - 10, 10,
$im->getImageWidth() - 10, 20,
$im->getImageWidth() - 10, $im->getImageHeight() - 10,
$im->getImageWidth() - 10, $im->getImageHeight() - 30);
/* Effectue la déformation */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);
/* Envoie l'image */
header("Content-Type: image/png");
echo $im;
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :