利用PHP实现图片等比例放大和缩小

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
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)."/>"; 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:PHP超大文件下载,断点续传下载

下一篇:php封装的mongodb操作类