利用PHP实现图片等比例放大和缩小
function resizeimage($srcfile,$mySize){ $size=getimagesize($srcfile); switch($size[2]){ case 1: $img=imagecreatefromgif($srcfile); break; case 2: $img=imagecreatefromjpeg($srcfile); break; case 3: $img=imagecreatefrompng($srcfile); break; } //源图片的宽度和高度 $oldImg['w']=imagesx($img); $oldImg['h']=imagesy($img); if ($oldImg['w']<=$mySize['w'] && $oldImg['h']<156){ $rate=1; }elseif ($oldImg['w']>$mySize['w'] && $oldImg['h']<$mySize['h']){ $rate=$mySize['w']/$oldImg['w']; }elseif ($oldImg['w']<$mySize['w'] && $oldImg['h']>$mySize['h']){ $rate=$mySize['h']/$oldImg['h']; }elseif ($oldImg['w']>$mySize['w'] && $oldImg['h']>$mySize['h']){ $rate1=$mySize['w']/$oldImg['w']; $rate2=$mySize['h']/$oldImg['h']; if ($rate1>$rate2){$rate=$rate2;}else{$rate=$rate1;} } $newImg['w']=$oldImg['w']*$rate; $newImg['h']=$oldImg['h']*$rate; return "width=".$newImg['w']." height=".$newImg['h']; }
应用实例
$mySize=array('w'=>143,'h'=>156); $imgSize=resizeimage("22.jpg",$mySize); echo "<img src=\"22.jpg\"".resizeimage("22.jpg",$mySize)."/>";