2010-10-11 12 views
5

Potrzebuję zmienić wszystkie przesłane pliki na 72 dpi. Używam rozszerzenia graficznego php.Jak mogę zmienić rozdzielczość obrazu z rozszerzeniem obrazu?

herezje co próbowałem (obraz używam to 300dpi):

$image = new Imagick(); 
$image->setResolution(72,72) ; 
$image->readImage($img); 
$image->resampleImage (72,72,imagick::FILTER_UNDEFINED,1); 
$image->writeImage($target) 

ten nie wydaje się niczym. obraz jest przesłaniem, ale pozostaje na 300dpi

+1

Dlaczego dbacie o DPI? Czy zamierzasz drukować obrazy na papierze? –

+1

i dbam o to, ponieważ 1. rozmiary plików są ogromne i 2. przeglądarka internetowa ich nie wyświetla – mononym

Odpowiedz

4

MatTheCat jest na miejscu. Możesz również spróbować setImageUnits(), aby upewnić się, że działa z calami, a nie centymetrami.

$image->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH); 
$image->setImageResolution(72,72); 

Ponowne próbkowanie nie jest konieczne tylko w celu zmiany rozdzielczości.

Należy pamiętać, że zmiana samej rozdzielczości nie wpłynie na rozmiar pliku i dotyczy tylko resamplingu i drukowania.

Powiązane problemy