天天看点

PHP按比例缩放图片

PHP按比例缩放图片

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); //调整大小