Blogger Information
Blog 5
fans 0
comment 0
visits 3318
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
自定义一个图片缩放函数
瞬间
Original
540 people have browsed it

/**

 *自定义一个图片等比缩放函数

 *@param string $picname 被缩放图片名

 *@param string $path 被缩放图片路径

 *@param int $maxWidth 图片被缩放后的最大宽度

 *@param int $maxHeight 图片被缩放后的最大高度

 *@param string $pre 缩放后的图片名前缀,默认为"s_"

 *@return boolen 返回布尔值表示成功与否。

 */

function imageResize($picname,$path,$maxWidth,$maxHeight,$pre="s_"){

    $path = rtrim($path,"/")."/";

    //1获取被缩放的图片信息

    $info = getimagesize($path.$picname);

    //获取图片的宽和高

    $width = $info[0];

    $height = $info[1];

    //2根据图片类型,使用对应的函数创建画布源。

    switch($info[2]){

        case 1: //gif格式

            $srcim = imagecreatefromgif($path.$picname);

            break;

        case 2: //jpeg格式

            $srcim = imagecreatefromjpeg($path.$picname);

            break;

        case 3: //png格式

            $srcim = imagecreatefrompng($path.$picname);

            break;

       default:

            return false;

            //die("无效的图片格式");

            break;

    }

    //3. 计算缩放后的图片尺寸

    if($maxWidth/$width<$maxHeight/$height){

        $w = $maxWidth;

        $h = ($maxWidth/$width)*$height;

    }else{

        $w = ($maxHeight/$height)*$width;

        $h = $maxHeight;

    }

    //4. 创建目标画布

    $dstim = imagecreatetruecolor($w,$h); 

    //5. 开始绘画(进行图片缩放)

    imagecopyresampled($dstim,$srcim,0,0,0,0,$w,$h,$width,$height);

    //6. 输出图像另存为

    switch($info[2]){

        case 1: //gif格式

            imagegif($dstim,$path.$pre.$picname);

            break;

        case 2: //jpeg格式

            imagejpeg($dstim,$path.$pre.$picname);

            break;

        case 3: //png格式

            imagepng($dstim,$path.$pre.$picname);

            break;

    }

    //7. 释放资源

    imagedestroy($dstim);

    imagedestroy($srcim);

    return true;

}


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post