首页 > 代码库 > 封装好的图像缩放函数
封装好的图像缩放函数
/** * 对上传的图片进行缩放 * @param 原始文件 $srcFile * @param 缩放比例 $percent */ function scale($src,$percent){ //原始图像文件类型,或者用getimage函数获取 // $src="http://www.mamicode.com/1.jpg"; // $ext=end(explode(".", $src));//也可以使用扩展名来进行判断 //第一步,得到上传图片相关信息 //原图宽,高 $array=getimagesize($src); //print_r($array);exit; $src_w=$array[0]; $src_h=$array[1]; //图片类型值 $typeId=$array[2]; // echo $typeId;exit; switch($typeId){ case 1: $ext="gif"; break; case 2: $ext="jpg"; break; case 3: $ext="png"; break; default: echo "图片格式不正确,请重新上传!"; exit; } //缩放后的图像文件存放值,用随机数和当前的时间戳来命名,防止重复 $dstFile=rand(100, 999).time().".".$ext; //新图片的文件名,其它地方就可以调用了 // echo $dstFile;exit; //缩放比例系数 $percent=0.3; //新图宽高,根据缩放比例不同,也许会出现小数位的尺寸,用ceil(进一取整)或者floor(舍一取整) $dst_w=ceil($src_w*$percent); $dst_h=ceil($src_h*$percent); //创建承载新图的画布 $dst_image=imagecreatetruecolor($dst_w, $dst_h); //载入原图,根据上传图片的类型使用对应的函数 switch($ext){ case "gif": $src_image=imagecreatefromgif($src); break; case "jpg": $src_image=imagecreatefromjpeg($src); break; case "png": $src_image=imagecreatefrompng($src); break; default:exit; } //进行缩放 imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h); //同上,输出图像到路径 switch($ext){ case "gif": imagegif($dst_image,$dstFile); break; case "jpg": imagejpeg($dst_image,$dstFile); break; case "png": imagepng($dst_image,$dstFile); break; default:exit; } //销毁内存中的残留 imagedestroy($src_image); imagedestroy($dst_image); } //测试 $srcFile="1.jpg"; $per="0.3"; scale($srcFile,$per); *****保留注释内容以便需要的人能完全理解******
本文出自 “方向感” 博客,请务必保留此出处http://itech.blog.51cto.com/192113/1574091
封装好的图像缩放函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。