1. 准备工作
在开始之前,请确保您的服务器已安装PHP和GD库,因为GD库是PHP处理图像的核心扩展。
2. 获取图片信息
list($srcw, $srch) = getimagesize($srcimg);
3. 创建图像资源
switch ($imageNewageInfo[2]) {
case 1: // GIF
$image = imagecreatefromgif($picName);
break;
case 2: // JPEG
$image = imagecreatefromjpeg($picName);
break;
case 3: // PNG
$image = imagecreatefrompng($picName);
break;
default:
die("图片类型错误!");
}
4. 计算缩放比例
$dstscale = $maxy / $maxx;
$srcscale = $srch / $srcw;
这里,$maxx 和 $maxy 分别是缩放后的最大宽度和高度。
5. 根据比例调整大小
if ($srcscale > $dstscale) {
$h = intval($srcw * $dstscale);
$w = intval($h / $dstscale);
$x = 0;
$y = ($srch - $h) / 2;
} else {
$w = intval($srch / $dstscale);
$h = intval($w * $dstscale);
$x = ($srcw - $w) / 2;
$y = 0;
}
6. 创建目标图像资源
根据缩放后的尺寸,创建目标图像资源。以下是一个示例:
$image_new = imagecreatetruecolor($w, $h);
这里,$w 和 $h 是缩放后的宽度和高度。
7. 复制并调整图片
imagecopyresampled($image_new, $image, 0, 0, 0, 0, $w, $h, $srcw, $srch);
这里,$image_new 是目标图像资源,$image 是原始图像资源。
8. 保存图片
imagejpeg($image_new, $pre . "a.jpg");