【发布时间】:2017-12-19 09:24:29
【问题描述】:
我遇到的问题是我的裁剪图像没有在缩放图像的中心裁剪。我现在已经尝试了几个小时没有成功。 任何有关计算和位置的帮助将不胜感激。
这是返回我的值的代码部分
// 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);
以及创建的图像和需要创建的图像的结果。
【问题讨论】: