PHP动态改变图片大小,一个按比例缩小放大图片的PHP函数,本函数可以依图片宽度或高度为基准,按比例缩小或放大指定图片,并智能判断是否需要此操作,使用时你只需指定原图片宽度、高度;新图片高度、宽度4个参数即可。
function getimgsize($oldwidth,$oldheight,$imgwidth,$imgheight){
//$oldwidth图片原始宽度,$oldheight图片原始高度,$imgwidth新宽度,$imgheight新高度
//以下判断图片容器若能显示图片,则按原始大小显示图片;
if($imgwidth<=$oldwidth&&$imgheight<=$oldheight){
$arraysize=array('width'=>$imgwidth,'height'=>$imgheight);
return $arraysize;
}else{//若图片容器容不下图片,则开始改变
$suoxiaowidth=$imgwidth-$oldwidth;
$suoxiaoheight=$imgheight-$oldheight;
$suoxiaoheightper=$suoxiaoheight/$imgheight;
$suoxiaowidthper=$suoxiaowidth/$imgwidth;
if($suoxiaoheightper>=$suoxiaowidthper){
//以高度为准
$aftersuoxiaowidth=$imgwidth*(1-$suoxiaoheightper);
$arraysize=array('width'=>$aftersuoxiaowidth,'height'=>$oldheight);
return $arraysize;
}else{
//以宽度为准
$aftersuoxiaoheight=$imgheight*(1-$suoxiaowidthper);
$arraysize=array('width'=>$oldwidth,'height'=>$aftersuoxiaoheight);
return $arraysize;
}
}
}

