2009-12-22 108 views
2

我對iMagick相當陌生,在PHP庫上只發現非常有限的文檔。我很高興地調整圖像大小並將它們寫回到硬盤驅動器中,但我無法完全使用JPG壓縮圖像。PHP iMagick圖像壓縮

這是我使用至今

function scale_image($size = 200,$extension) 
{ 
    if(!file_exists(ALBUM_PATH . $this->path . $this->filename . $extension)) 
    { 
     $im = new imagick(ALBUM_PATH . $this->path . $this->filename); 

     $width = $im->getImageWidth(); 
     $height = $im->getImageHeight(); 
     if($width > $height) 
      $im->resizeImage($size, 0, imagick::FILTER_LANCZOS, 1); 
     else 
      $im->resizeImage(0 , $size, imagick::FILTER_LANCZOS, 1); 

     $im->setImageCompression(true); 
     $im->setCompression(Imagick::COMPRESSION_JPEG); 
     $im->setCompressionQuality(20); 

     $im->writeImage(ALBUM_PATH . $this->path . $this->filename . $extension); 
     $im->clear(); 
     $im->destroy(); 
    } 
} 

任何幫助將不勝感激的代碼。

非常感謝

羅布

+0

有什麼問題嗎?您需要更具體地瞭解您的代碼出了什麼問題! – 2009-12-25 10:02:51

回答

8

試試這個:

$im->setImageCompression(Imagick::COMPRESSION_JPEG); 
$im->setImageCompressionQuality(20); 
+0

這是我使用並且適合我的。質量默認設置爲87。我發現將它設置爲80更適合我的使用類型。 – TheCarver 2013-09-10 20:38:07