想象 - 调整大小时,图像变得模糊

时间:2018-01-27 17:24:24

标签: php pdf resize imagemagick imagick

我正在尝试调整pdf(我从图像转换)的大小,我正在尝试按比例调整图像大小(增加)。

$imagick = new \Imagick();
$imagick->readImage($path);

$imagick->resizeImage(595,842,\Imagick::FILTER_CUBIC, 1, true);

// and this:
// $imagick->adaptiveResizeImage(595,842, true); 

$imagick->setImageFormat('pdf');
$imagick->writeImage($endpath);

但是图像越来越模糊。然而,这不是一个质量差的图像,图像可以达到这个大小而不会受到干扰。 (例如,如果我让Twilio这样做(通过传真api),相同的图像可以达到那个比例)。

我也试过将resizeImage的blur参数放在'1'和'0.1'

之间

原始pdf(如果您想尝试,还可以see it here):

enter image description here

我调整大小的pdf(模糊1):

enter image description here

我的“自适应调整大小”pdf:

enter image description here

1 个答案:

答案 0 :(得分:1)

如果光栅化和放大,您将从非常小的pdf开始。这样会导致模糊。但是如果你增加输入密度,它在ImageMagick中可以正常工作

convert -density 600 input.pdf -resize 595x842 result.png

我不太了解Imagick,但请尝试以下方法。根据需要减小resizeImage中的模糊值,使其更清晰。

$imagick = new \Imagick();
$imagick->readImage($path);
$imagick->Imagick::setImageResolution( 600, 600 );
$imagick->resizeImage(595,842,\Imagick::FILTER_CATROM, 1, true);
$imagick->setImageFormat('pdf');
$imagick->writeImage($endpath);