(No version information available, might only be in Git)

Imagick::deskewImageRemoves skew from the image


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. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.4.5 или старше.

Список параметров


Deskew threshold

Возвращаемые значения


Пример #1 Imagick::deskewImage()

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.

//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");


add a note add a note

User Contributed Notes

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