首页 / 网页编程 / PHP / 利用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)."/>";