2017-07-14 58 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

好了小的失误,现在它的工作原理

变化

$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); 
相关问题