利用PHP实现图片等比例放大和缩小的方法详解
程序员文章站
2022-07-11 08:41:13
复制代码 代码如下: function resizeimage($srcfile,$mysize){ ...
复制代码 代码如下:
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)."/>";