/ / Imagick - Podczas zmiany rozmiaru obraz jest zamazany - php, pdf, resize, imagemagick, imagick

Imagick - podczas zmiany rozmiaru obraz jest zamazany - php, pdf, resize, imagemagick, imagick

Próbuję zmienić rozmiar pliku PDF (który przekonwertowałem z obrazu) i próbuję zmienić rozmiar (zwiększyć) obraz w jego stosunku.

$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);

Ale obraz robi się niewyraźny. Jednak nie jest to obraz o złej jakości, a obraz może mieć taką wielkość bez zakłóceń. (Na przykład, jeśli pozwolę Twilio to zrobić (za pomocą faksu api), ten sam obraz może dostać się do tej skali).

Próbowałem również z wprowadzeniem parametru rozmycia resizeImage między "1" i "0,1"

Oryginalny pdf (możesz też zobacz tutaj, jeśli chcesz spróbować):

wprowadź opis obrazu tutaj

Mój rozmiar pdf (z rozmyciem 1):

wprowadź opis obrazu tutaj

Moja "zmieniona adaptacyjnie" pdf:

wprowadź opis obrazu tutaj

Odpowiedzi:

0 dla odpowiedzi № 1

Zaczynasz od bardzo małego pliku PDF, jeśli zostanie zrasteryzowany i powiększony. To by spowodowało rozmycie. Ale jeśli zwiększysz gęstość wejściową, działa to dobrze dla mnie w ImageMagick jako

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

Nie znam dobrze Imagicka, ale spróbuj tego. Zmniejsz wartość rozmycia w resizeImage zgodnie z potrzebami, aby było ostrzejsze.

$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);