当前位置:首页 > PHP教程 > 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)."/>";


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!