2017-07-14 5 views
-1

トリミングされた画像の中央に切り取られた画像が切り取られないという問題があります。私は今、成功せずに数時間試しました。 計算とポジションに関する助けをいただければ幸いです。 解決済み幅と高さが異なる中央のトリミングサムネイル画像

この

は、私の値

// image dimensions 
    $obj->sw = $p_aImageInfo[0]; 
    $obj->sh = $p_aImageInfo[1]; 

    //thumbnail sizes 
    $obj->tsw = 100; 
    $obj->tsh = 200; 


    $obj->yOff = 0; 
    $obj->xOff = 0; 
    if($obj->sw < $obj->sh) { 
     $obj->scale = $obj->tsw/$obj->sw; 
     $obj->yOff = $obj->sh/2 - $obj->tsw/$obj->scale/2; 
    } else { 
     $obj->scale = $obj->tsh/$obj->sh; 
     $obj->xOff = $obj->sw/2 - $obj->tsh/$obj->scale/2; 
    } 

を返すコードの一部です。この新しいイメージ

  // Create the resized image destination 
     $croppedImage = imagecreatetruecolor($l_oCropInfo->tsw, $l_oCropInfo->tsh); 
     imagealphablending($croppedImage, false); 
     imagesavealpha($croppedImage,true); 
     $transparent = imagecolorallocatealpha($croppedImage, 255, 255, 255, 127); 
     imagefilledrectangle($croppedImage, 0, 0, $l_oCropInfo->tsw, $l_oCropInfo->tsh, $transparent); 

     // Copy from image source, resize it, and paste to image destination 
     imagecopyresampled($croppedImage, $im, 0, 0, $l_oCropInfo->xOff, 
                $l_oCropInfo->yOff, 
                $l_oCropInfo->tsw, 
                $l_oCropInfo->tsh, 
                $l_oCropInfo->tsw/$l_oCropInfo->scale, 
                $l_oCropInfo->tsh/$l_oCropInfo->scale); 

そして、作成した画像の結果とする必要があるものを作るコード作成される。

enter image description here

答えて

0

[OK]を、小さなミスが、今では

変更

$obj->yOff = $obj->sh/2 - $obj->tsw/$obj->scale/2; 
$obj->xOff = $obj->sw/2 - $obj->tsh/$obj->scale/2; 

$obj->yOff = $obj->sh/2 - $obj->tsh/$obj->scale/2; 
$obj->xOff = ($obj->sw/2 - $obj->tsw/$obj->scale/2); 
に動作します
関連する問題