/**
*等比例缩放函数(以保存新图片的方式实现)
* @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;
}
php 图片等比例缩放
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的...
- 目录faster rcnn论文备注caffe代码框架简介faster rcnn代码分析后记 faster rcnn...
- 第一步,准备 从train_faster_rcnn_alt_opt.py入: 初始化参数:args = parse...