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; } } }