?php /* *生成缩略图 *$imgPath(图片路径), $maxWidth(宽), $maxHeight(高), $directOutput = true(是否在页面输出), $quality = 90, $verbose,$imageType(图片类型) * * */ function resizeImg($imgPath, $maxWidth, $maxHeight, $directOutput =
/*
*生成缩略图
*$imgPath(图片路径), $maxWidth(宽), $maxHeight(高), $directOutput = true(是否在页面输出), $quality = 90, $verbose,$imageType(图片类型)
*
*
*/
function resizeImg($imgPath, $maxWidth, $maxHeight, $directOutput = true, $quality = 90, $verbose,$imageType)
{
$size = getimagesize($imgPath);
//print_r($size);exit;
// 如果读取图像信息失败则中断并返回 false
if(!$size){
if($verbose && !$directOutput) echo "
无法读取图像信息。
";
return false;
}
// 关系:宽度/高度
$relation = $size[0]/$size[1];
// 最大尺寸(如果参数 == false,则不会调整大小)
$maxSize = array($maxWidth?$maxWidth :$size[0],$maxHeight?$maxHeight:$size[1]);
// 声明新大小的数组(初始值 = 原始大小)
$newSize = $size;
/ / 宽度/高度关系
$relation = array($size[1]/$size[0], $size[0]/$size[1]);
//print_r($size);
//echo "
";
//print_r($relation);exit;
if(($newSize[0] > $maxWidth))
{
$newSize[0]=$maxSize[0];
$newSize[1]=$newSize[0]*$relation[0];
}
if(($newSize [1] > $maxHeight))
{
$newSize[1]=$maxSize[1];
$newSize[0]=$newSize[1]*$relation[1];
}
// 创建图像
switch($size[2])
{
情况 1:
if(function_exists("imagecreatefromgif"))
{
$originalImage = imagecreatefromgif($imgPath);
}else{
if($verbose && !$directOutput)echo "
在此 php 安装中不支持 GIF,抱歉.
";
return false;
}
break;
情况 2: $originalImage = imagecreatefromjpeg($imgPath);中断;
情况 3: $originalImage = imagecreatefrompng($imgPath); Break;
默认值:
if($verbose && !$directOutput)echo "
> 无有效的图像类型。
";
return false;
}
// 创建新图像
$resizedImage = imagecreatetruecolor($newSize[0], $newSize[1]);
imagecopyresampled($resizedImage, $originalImage,0, 0, 0, 0,$newSize[0], $newSize[1], $size[0], $size[1]);
$rz=$imgPath;
// 输出或保存
if($directOutput)
{
imagejpeg($resizedImage);
}
else
{
$exp=explode(".",$imgPath);
$extension=end($exp);//$exp[count($exp)-1];
$newimage=$imageType.".".$extension;
$rz=preg_replace("//.([a-zA-Z]{3,4})$/",$newimage,$imgPath) ;
imagejpeg($resizedImage, $rz, $quality);
}
// 如果成功则返回 true
return $rz;
} // 结束函数调整图像大小
//调用
resizeImg("var/chen.jpg", 125 ,75, false, 100, 0,"_thumb");
?>