PHP 等比缩放 缩略图 类
2013-08-26 17:04
260 查看
/** * * *等比缩放 * @param unknown_type $srcImage 源图片路径 * @param unknown_type $toFile 目标图片路径 * @param unknown_type $maxWidth 最大宽 * @param unknown_type $maxHeight 最大高 * @param unknown_type $imgQuality 图片质量 * @return unknown */ function resize($srcImage,$toFile,$maxWidth = 100,$maxHeight = 100,$imgQuality=100) { list($width, $height, $type, $attr) = getimagesize($srcImage); if($width < $maxWidth || $height < $maxHeight) return ; switch ($type) { case 1: $img = imagecreatefromgif($srcImage); break; case 2: $img = imagecreatefromjpeg($srcImage); break; case 3: $img = imagecreatefrompng($srcImage); break; } $scale = min($maxWidth/$width, $maxHeight/$height); //求出绽放比例 if($scale < 1) { $newWidth = floor($scale*$width); $newHeight = floor($scale*$height); $newImg = imagecreatetruecolor($newWidth, $newHeight); imagecopyresampled($newImg, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); $newName = ""; $toFile = preg_replace("/(.gif|.jpg|.jpeg|.png)/i","",$toFile); switch($type) { case 1: if(imagegif($newImg, "$toFile$newName.gif")) return "$newName.gif"; break; case 2: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality)) return "$newName.jpg"; break; case 3: if(imagepng($newImg, "$toFile$newName.png")) return "$newName.png"; break; default: if(imagejpeg($newImg, "$toFile$newName.jpg", $imgQuality)) return "$newName.jpg"; break; } imagedestroy($newImg); } imagedestroy($img); return false; }
相关文章推荐
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- php按指定大小等比缩放生成上传图片缩略图
- PHP图像处理函数:文字水印,图片水印,缩略图(等比缩放)
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- PHP图片等比例缩放生成缩略图函数分享
- PHP图片等比例缩放生成缩略图函数分享
- php生成缩略图填充白边(等比缩略图方案)
- PHP图片等比缩放,并添加Logo水印特定代码和盯
- php Imagick 实现等比缩放图片
- [ php or jsp ] + jquery.imgareaselect 处理图片截图等比缩放!
- php图片缩放代码-按比例缩放或截取指定大小的缩略图 非常好用的一个方法
- 常用的php图片处理类(水印、等比缩放、固定高宽)分享
- 原生php图片等比压缩,修改图片尺寸为最大宽度800像素,生成缩略图
- php生成缩略图填充白边(等比缩略图方案)
- php等比缩放图片
- PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
- PHP上传图片进行等比缩放
- PHP图片的等比缩放和增加Logo水印详细代码和注释
- PHP上传图片进行等比缩放可增加水印功能