Imagick
PHP Manual

Imagick::deskewImage

(No hay información de versión disponible, podría estar únicamente en SVN)

Imagick::deskewImageElimina la torción de la imagen

Descripción

public bool Imagick::deskewImage ( float $threshold )

Eeste método se puede usar para eliminar la torción de, por ejemplo, imágenes escaneadas donde el papel no estaba debidamente colocado en la superfice del escáner. Este método está disponible si Imagick ha sido compilado con la versión 6.4.5 o superior de ImageMagick.

Parámetros

threshold

Umbral de detorción

Valores devueltos

Ejemplos

Ejemplo #1 Imagick::deskewImage()

<?php
function deskewImage($threshold) {
    
$imagick = new \Imagick(realpath("images/NYTimes-Page1-11-11-1918.jpg"));
    
$deskewImagick = clone $imagick;
    
    
//Esto es lo único que se requiere para eliminar la torción.
    
$deskewImagick->deskewImage($threshold);

    
//El resto de este ejemplo es para hacer el resultado obvio, ya que
    //de lo contrario no sería obvio.
    
$trim 9;

    
$deskewImagick->cropImage($deskewImagick->getImageWidth() - $trim$deskewImagick->getImageHeight(), $trim0);
    
$imagick->cropImage($imagick->getImageWidth() - $trim$imagick->getImageHeight(), $trim0);
    
$deskewImagick->resizeimage($deskewImagick->getImageWidth() / 2$deskewImagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS1);
    
$imagick->resizeimage($imagick->getImageWidth() / 2$imagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS1);
    
$newCanvas = new \Imagick();
    
$newCanvas->newimage($imagick->getImageWidth() + $deskewImagick->getImageWidth() + 20$imagick->getImageHeight(), 'red''jpg');
    
$newCanvas->compositeimage($imagick, \Imagick::COMPOSITE_COPY50);
    
$newCanvas->compositeimage($deskewImagick, \Imagick::COMPOSITE_COPY$imagick->getImageWidth() + 100);

    
header("Content-Type: image/jpg");
    echo 
$newCanvas->getImageBlob();
}

?>


Imagick
PHP Manual