发布于 2022-11-09 13:04:51 浏览 253 次
1、在“if($resize == 1)”代码位置前加上如下代码:
$tempx2 = 0; // 定义目标图起始x坐标
$tempy2 = 0; // 定义目标图起始y坐标
$wsize = 0; // 定义目标图渲染宽度
2、然后在“if($big_width > $big_height){....}”条件语句内末尾加入如下代码:
if($srcX<0)
{
$tempx2 = ($max_width-($big_width/$big_height)*$max_height)/2; // 计算目标图渲染起始x坐标
$tempy2 = 0;
$srcX = 0; // 将原图负值清零
$tempx = $big_width; // 原图宽度保持不变
$wsize = -($tempx2*2); //调整目标图渲染区宽度
}
3、最后修改imagecopyresampled方法内的目标起始x和y值,同时修正目标图渲染宽度值即可,修改后的代码如下:
imagecopyresampled($temp_image, $big_image, $tempx2, $tempy2, $srcX, $srcY, ($new_width+$wsize), $new_height, $tempx, $tempy);