PHP图片缩放 加白边
2016-11-26 11:19
706 查看
/** * [cut_img 图片缩放加白边] * Author: 程威明 * @param array $imgs 图片路径数组 * @param array $info 图片宽高数组array('width','height') * @param bool $cover 是否覆盖原图,默认不覆盖 * @return array 若覆盖原图返回裁剪数量,不覆盖返回图片路径组成的数组 */ function zoom_img($imgs=array(),$infoarr=array(500,500),$cover=false) { //判断是否为数组(必须是一个以图片路径组成的数组) $imgs = is_array($imgs)?$imgs:array($imgs); $i=0; foreach($imgs as $file){ //如果不覆盖原图,可重新定义图片保存路径 if(false==$cover){ $file = $file; } //要保存的宽 $saveWidth = $infoarr[0]; //要保存的高 $saveHeight = $infoarr[1]; //判断图片是否存在 if(!file_exists($file)) continue; //获取图片信息 $imgize = getimagesize($file); //图片宽度 $width = $imgize[0]; //图片高度 $height = $imgize[1]; //原宽高比 $ratio = $width/$height; //判断图片原宽高比与裁剪宽高比的大小 if($width>=$height){ $height = $saveWidth/$ratio; $width = $saveWidth; }else{ $width = $saveHeight*$ratio; $height = $saveHeight; } //创建源图的实例 $src = imagecreatefromstring(file_get_contents($file)); if(false!=$src){ //创建图像 $final_image = imagecreatetruecolor($saveWidth, $saveHeight); //定义颜色 $color = imagecolorallocate($final_image, 255, 255, 255); //定义为透明色 imagecolortransparent($final_image,$color); //填充 imagefill($final_image, 0, 0, $color); $x = round(($saveWidth - $width) / 2); $y = round(($saveHeight - $height) / 2); imagecopyresized($final_image, $src, $x, $y, 0, 0, $width, $height,$imgize[0],$imgize[1]); //保存 if(false==$cover){ $file = rtrim(dirname($file),'/').'/z_'.basename($file); $save_file[] = $file; } imagejpeg($final_image,$file); imagedestroy($final_image); imagedestroy($src); } $i++; } if(false==$cover){ return $save_file; }else{ return $i; } }
相关文章推荐
- php GD库函数(保存不同大小的图片,即原图与缩放图片等)
- PHP图片的裁剪与缩放
- PHP 缩放图片
- PHP 输出头像到网页,按照输入的参数自动缩放图片
- PHP 等比例缩放图片详解及实例代码
- PHP 缩放图片
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- PHP图片的裁剪与缩放
- php 实现图片等比例缩放 原理(初级)
- php缩放图片(根据宽高的等比例缩放)实例介绍
- php图片缩放实现方法
- php实现等比例不失真缩放上传图片的方法
- php图片缩放
- PHP图片处理—PNG透明缩放并生成灰图
- php图片等比例缩放
- php 滤镜 功能很强大(HcZoom 是一款免费的、开源的图片缩放jQuery插件)
- php 图片指定留白叠加缩放
- 强大的PHP 图片处理类(水印、透明度、缩放、锐化、旋转、翻转、剪切、反色)
- PHP上传图片并缩放
- PHP学习笔记:等比例缩放图片