Imagick::distortImage
(PECL imagick 2.0.1)
Imagick::distortImage — Déforme une image avec différentes méthodes
Description
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 fonctionnalité est présente si Imagick est compilée avec ImageMagick 6.3.6 ou plus récent.
Liste de paramètres
- 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
Valeurs de retour
Returns TRUE on success.
Erreurs / Exceptions
Lance une exception ImagickException si une erreur survient.
Exemples
Exemple #1 Exemple avec Imagick::distortImage()
Déformation d'une image, et l'enregistre sur le disque.
<?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;
?>
Voir aussi
- Imagick::blurImage() - Ajoute un filtre de flou à une image
- Imagick::motionBlurImage() - Ajout un flou de déplacement
- Imagick::radialBlurImage() - Flou radial d'une image
Imagick::distortImage
