Php/docs/imagick.deskewimage

From Get docs

Imagick::deskewImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.3.0)

Imagick::deskewImageRemoves skew from the image


Description

public Imagick::deskewImage ( float $threshold ) : bool

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.


Parameters

threshold
Deskew threshold


Return Values

Examples

Example #1 Imagick::deskewImage()

<?phpfunction 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(), $trim, 0);    $imagick->cropImage($imagick->getImageWidth() - $trim, $imagick->getImageHeight(), $trim, 0);    $deskewImagick->resizeimage($deskewImagick->getImageWidth() / 2, $deskewImagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);    $imagick->resizeimage($imagick->getImageWidth() / 2, $imagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);    $newCanvas = new \Imagick();    $newCanvas->newimage($imagick->getImageWidth() + $deskewImagick->getImageWidth() + 20, $imagick->getImageHeight(), 'red', 'jpg');    $newCanvas->compositeimage($imagick, \Imagick::COMPOSITE_COPY, 5, 0);    $newCanvas->compositeimage($deskewImagick, \Imagick::COMPOSITE_COPY, $imagick->getImageWidth() + 10, 0);    header("Content-Type: image/jpg");    echo $newCanvas->getImageBlob();}?>