php 一个自动生成缩略图的工具类

<?php


class ThumbTool
{
  public static function make_thumb($path,$width=200,$height=200){
        //取得图片的 属性
        $imgarr=getimagesize($path);

        //取得图片中的格式
        $img=str_replace("image/","",$imgarr["mime"]);

        //构建创建素材原话画布 的变量
        $createTmage="imagecreatefrom".$img;
        //创建原画布
        $srcimg=$createTmage($path);
        //创建目标画布
        $dstimg=imagecreatetruecolor($width,$height);
        //在拷贝之前  求最终的目标大小和位置
        //取得原图的宽和高
        $srcWidth=$imgarr[0];
        $srcHeight=$imgarr[1];
        //求较大的比例
        $bili=$srcWidth/$width>$srcHeight/$height?$srcWidth/$width:$srcHeight/$height;
        //求取目标的大小
        $dstWidth=$srcWidth/$bili;
        $dstHight=$srcHeight/$bili;
        //求得拷贝的位置  缩略图  等比例缩放并居中
        $x1=($width-$dstWidth)/2;
        $y1=($height-$dstHight)/2;
        //创建一个白色  补在拷贝之前
        $white=imagecolorallocate($dstimg,255,255,255);
        imagefill($dstimg,0,0,$white);
        //拷贝图片
        imagecopyresampled($dstimg,$srcimg,$x1,$y1,0,0,$dstWidth,$dstHight,$srcWidth,$srcHeight);
        //取出扩展名
        $ext=strrchr($path,".");

        //构建缩略图的名字
        $name=uniqid("thumb_").$ext;
        //输出图片
        $saveImg=str_replace("/","",$imgarr["mime"]);

        //保存图片iamgejpeg()
        $saveImg($dstimg,UPLOADS_PATH.$name);
        //释放资源
        imagedestroy($srcimg);
        imagedestroy($dstimg);

        return $name;
    }


}

如整合期间有遇到什么问题 可以加群 858507220 一起讨论哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值