2012-02-12 6 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)が好きです。

関連する問題