【PHP】图片操作类

刚学php不久,在做一个项目一步步的积累和学习,希望分享的东西能其他人带来帮助,少走弯路。

<?php
/**
 *    图片操作类
 * @author Harlan Song
 */

/**
 * 压缩图片,以宽度为基准,高度等比例压缩。
 * @param string $srcPath 源图片路径
 * @param string $newPath 压缩后图片路径
 *  @param string $newWidth 最大宽度
 */
function commpressImage($srcPath,$newPath,$newWidth){
    $info = getimagesize($srcPath);
    $width = $info[0];
    $height = $info[1];
    $mime = $info[‘mime‘];//得到图片类型
    if($width > $newWidth){
        $newHeight = $height / ($width / $newWidth);
        $newImg = imagecreatetruecolor($newWidth,$newHeight);
        switch($mime){
            case "image/jpeg":
                $img = @imagecreatefromjpeg($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$newWidth,$newHeight,$width,$height);
                imagejpeg($newImg,$newPath);
                break;
            case "image/png":
                $img = @imagecreatefrompng($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$width,$height,$newWidth,$newHeight);
                imagepng($newImg,$newPath);
                break;
            case "image/gif":
                $img = @imagecreatefromgif($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$width,$height,$newWidth,$newHeight);
                imagegif($newImg,$newPath);
                break;
            case "image/wbmp":
                $img = @imagecreatefromwbmp($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$width,$height,$newWidth,$newHeight);
                imagewbmp($newImg,$newPath);
                break;
        }
    }else{
        //源图片宽度比指定值小,不压缩直接复制。
        copy($srcPath,$newPath);
    }
}

?>

 

【PHP】图片操作类,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。