2012-02-12 63 views
1

這是更多關於「技術訣竅」的問題。我有一堆完全不同尺寸的圖像:一個可能是360x360,另一個可能是1200x800。我會爲具有精確尺寸的網頁製作縮略圖,例如150x150。由於尺寸不同,我不能僅僅使用convert -resize或者只是以某種方式裁剪,我需要兩者。 你會如何解決這個問題?imagemagick調整大小到確切的大小

回答

-1

您需要將計算一下縮略圖的大小應根據源圖像的寬度和高度,和最大縮略圖寬度和高度的功能:

function setWidthHeight($srcWidth, $srcHeight, $maxWidth, $maxHeight){ 

    $ret = array($srcWidth, $srcHeight); 

    $ratio = $srcWidth/$srcHeight; 

    if($srcWidth > $maxWidth || $srcHeight > $maxHeight){ 

     $ret[0] = $maxWidth; 
     $ret[1] = $ret[0]/$ratio; 

     if($ret[1] > $maxHeight){ 
      $ret[1] = $maxHeight; 
      $ret[0] = $maxHeight * $ratio; 
     } 
    }  

    $ret[0] = intval(ceil($ret[0])); 
    $ret[1] = intval(ceil($ret[1])); 

    return $ret; 
} 

然後,您可以使用的任何縮略圖產生過程你喜歡imagecopyresampled(...)或$ imageMagick-> thumbnailImage($ newWidth,$ newHeight);