International PHP Conference 2015

Imagick::deskewImage

(Não há informação de versão disponível, talvez apenas no SVN)

Imagick::deskewImageRemoves skew from the image

Descrição

public bool Imagick::deskewImage ( float $threshold )

This method can be used to remove skew from for example scanned images where the paper was not properly placed on the scanning surface. This method is available if Imagick has been compiled against ImageMagick version 6.4.5 or newer.

Parâmetros

threshold

Deskew threshold

Valor Retornado

Exemplos

Exemplo #1 Imagick::deskewImage()

<?php
function deskewImage($threshold) {
    
$imagick = new \Imagick(realpath("images/NYTimes-Page1-11-11-1918.jpg"));
    
$deskewImagick = clone $imagick;
    
    
//This is the only thing required for deskewing.
    
$deskewImagick->deskewImage($threshold);

    
//The rest of this example is to make the result obvious - because
    //otherwise the result is not obvious.
    
$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();
}

?>

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top