(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.3.0)
Imagick::deskewImage — Supprime le biais de l'image
Cette méthode peut être utilisée pour supprimer le biais depuis, par exemple, les images scannées où le papier n'a pas été placé correctement sur la surface. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.4.5 ou supérieur.
threshold
Seuil de redressement.
Exemple #1 Exemple avec Imagick::deskewImage()
<?php
function deskewImage($threshold) {
$imagick = new \Imagick(realpath("images/NYTimes-Page1-11-11-1918.jpg"));
$deskewImagick = clone $imagick;
// Il ne suffit que cela pour le redressement.
$deskewImagick->deskewImage($threshold);
// Le reste de l'exemple ne fait que rendre le résultat évident -
// sans cela, la modificiation ne serait pas tellement visible.
$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();
}
?>