zoukankan      html  css  js  c++  java
  • php 图像处理 抠图,生成背景透明png 图片

    
    *自定义一个图片等比缩放函数
     *@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;
        }
    	}
    
    
  • 相关阅读:
    036 Python进阶小结
    035 异常处理
    033 数据类型分类
    034 Python深浅拷贝
    032 集合类型内置方法
    031 字典类型内置方法
    XML删除节点
    追加XML
    XML文档的读、写
    XML文档的创建
  • 原文地址:https://www.cnblogs.com/datiangou/p/10202660.html
Copyright © 2011-2022 走看看