Php/docs/imagick.deskewimage

来自菜鸟教程
跳转至:导航、​搜索

Imagick::deskewImage

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

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以上版本编译时可用。


参数

threshold
Deskew threshold


返回值

范例

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();}?>