利用PHP实现图片等比例放大和缩小的方法详解

前端技术 2023/09/03 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).\"/>\";

本文地址:https://www.stayed.cn/item/6957

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。