2010-10-11 83 views
5

我需要將所有上傳的文件更改爲72 dpi。 我正在使用php imagick擴展。我如何使用imagick擴展名更改圖像的dpi

繼承人什麼我已經嘗試過(我使用的圖像是300DPI):

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

這似乎沒有任何東西。 圖像上傳,但停留在300dpi的

+1

你爲什麼關心DPI?你打算在紙上打印圖像嗎? – 2010-10-11 15:55:18

+1

我關心,因爲1.文件大小是巨大的,2. Internet Explorer不顯示它們 – mononym 2010-10-11 16:02:44

回答

4

MatTheCat的答案是當場上。您也可以嘗試setImageUnits()以確保它可以使用英寸而不是釐米。

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

重新採樣並不是僅僅爲了改變dpi而必需的。

請注意,單獨更改dpi不會影響文件大小,僅適用於重新採樣和打印。