(PECL imagick 2 >= 2.0.1, PECL imagick 3)
Imagick::distortImage — Deforma una imagen utilizando varios métodos de distorsión
Deforma una imagen utilizando varios métodos de distorsión, mapeando la paleta de colores de la imagen de origen a una nueva imagen destino normalmente del mismo tamaño que la imagen de origen, a menos que 'bestfit' esté establecido a true
.
Si 'bestfit' está habilitado, y la distorsión lo permite, la imagen destino se ajusta para asegurarse de que la 'imagen' de origen entera se ajustará dentro de la imagen destino final, la cuál será redimensionada e compensada acordemente. También, en la mayoría de los casos el índice virtual de la imagen de origen será tomado en cuenta en el mapeado.
Este método está disponible si Imagick ha sido compilado con la versión 6.3.6 o superior de ImageMagick.
method
El método de distorsión de la imagen. Véase constantes de distorsión
arguments
Los argumentos para este método de distorsión
bestfit
Intenta redimensionar la imagen destino para ajustarse a la imagen de origen deformada
Devuelve true
en caso de éxito.
Lanza ImagickException en caso de error.
Ejemplo #1 Usar Imagick::distortImage():
Deformar una imagen y mostrarla en el navegador.
<?php
$im = new Imagick();
$im->newPseudoImage(100, 100, "pattern:checkerboard");
$im->setImageFormat('png');
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$im->setImageMatte(true);
$puntosControl = 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);
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $puntosControl, true);
header("Content-Type: image/png");
echo $im;
?>
El resultado del ejemplo sería algo similar a: