1>判断传过来图片的格式
2>获取文件名
3>获取文件所在路径的文件夹
4>获取文件的扩展名
5>获取图片的宽高
6>计算原图宽高比
7>计算缩略图的宽高比
8>判断缩放的比例进行缩放
9>计算原图缩放的宽和高
10>调整大小
11>使用imagecopyresized()输出缩小后的图像
12>保存
13>关闭图片源
实例代码如下:
{
$info = getimagesize($from);
switch ($info[2])
{
case 1: $im = imagecreatefromgif($from); break;
case 2: $im = imagecreatefromjpeg($from); break;
case 3: $im = imagecreatefrompng($from); break;
default: exit('不支持的图像格式'); break;
}
$temp = pathinfo($from);
$name = $temp["basename"];//文件名
$dir = $temp["dirname"];//文件所在的文件夹
$extension = $temp["extension"];//文件扩展名
$width = $info[0];//获取图片宽度
$height = $info[1];//获取图片高度
$per1 = round($width/$height,2);//计算原图长宽比
$per2 = round($w/$h,2);//计算缩略图长宽比
//计算缩放比例
if($per1>$per2||$per1==$per2)
{
//原图长宽比大于或者等于缩略图长宽比,则按照宽度优先
$per=$w/$width;
}
if($per1<$per2)
{
//原图长宽比小于缩略图长宽比,则按照高度优先
$per=$h/$height;
}
$temp_w = intval($width*$per);//计算原图缩放后的宽度
$temp_h = intval($height*$per);//计算原图缩放后的高度
$dst_im = imagecreatetruecolor($temp_w, $temp_h); //调整大小