php 对图片缩放,php 图片等比例缩放

/**

*等比例缩放函数(以保存新图片的方式实现)

* @param string $picName 被缩放的处理图片源

* @param string $savePath 保存路径

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

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

* @param string $pre 缩放后图片的前缀名

* @return $string 返回后的图片名称() 如a.jpg->s.jpg

*

**/

protected function scaleImg($picName,$savePath,$maxx= 800,$maxy= 450)

{

$info=getimageSize($picName);//获取图片的基本信息$w=$info[0];//获取宽度$h=$info[1];//获取高度if($w<=$maxx&&$h<=$maxy){

return$picName;

}

//获取图片的类型并为此创建对应图片资源switch($info[2]) {

case1://gif$im= imagecreatefromgif($picName);

break;

case2://jpg$im= imagecreatefromjpeg($picName);

break;

case3://png$im= imagecreatefrompng($picName);

break;

default:die("图像类型错误");

}

//计算缩放比例if(($maxx/$w) > ($maxy/$h)) {

$b=$maxy/$h;

} else {

$b=$maxx/$w;

}

//计算出缩放后的尺寸$nw=floor($w*$b);

$nh=floor($h*$b);

//创建一个新的图像源(目标图像)$nim= imagecreatetruecolor($nw,$nh);

//透明背景变黑处理

//2.上色$color=imagecolorallocate($nim,255,255,255);

//3.设置透明imagecolortransparent($nim,$color);

imagefill($nim,0,0,$color);

//执行等比缩放imagecopyresampled($nim,$im, 0, 0, 0, 0,$nw,$nh,$w,$h);

//输出图像(根据源图像的类型,输出为对应的类型)$picInfo=pathinfo($picName);//解析源图像的名字和路径信息$savePath=$savePath. "/" .date("Ymd")."/".$this->pre .$picInfo["basename"];

switch($info[2]) {

case1:                imagegif($nim,$savePath);

break;

case2:                imagejpeg($nim,$savePath);

break;

case3:                imagepng($nim,$savePath);

break;

}

//释放图片资源imagedestroy($im);

imagedestroy($nim);

//返回结果return$savePath;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值