Removes skew from the image

(Информация о версии неизвестна, возможно, только в SVN)

Imagick::deskewImageRemoves skew from the image


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. Этот метод доступен, если 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");