ScotlandPHP 2019

Imagick::deskewImage

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

Imagick::deskewImageRemoves skew from the image

Açıklama

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. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.5 veya sonraki bir sürümü kuruluysa kullanılabilir.

Değiştirgeler

threshold

Deskew threshold

Dönen Değerler

Örnekler

Örnek 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