利用PHP實現圖片等比例放大和縮小

y3c5 9年前發布 | 847 次閱讀 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'];  

} </pre>
應用實例

$mySize=array('w'=>143,'h'=>156);
$imgSize=resizeimage("22.jpg",$mySize);
echo "<img src=\"22.jpg\"".resizeimage("22.jpg",$mySize)."/>"; 

 本文由用戶 y3c5 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!