代码如下:
<?php /** * 重置Jpg图片尺寸 * * @param string $path * @param string $filename 源文件名 * @param int $maxwidth * @param int $maxheight * @param string $newname 新文件名 */ function reSizeJpg($path, $filename, $maxwidth, $maxheight, $newname) { $jpg = imagecreatefromjpeg($path.'/'.$filename); if ($jpg) { $width = imagesx($jpg); $height = imagesy($jpg); } else { return false; } if (($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)) { if ($maxwidth && $width > $maxwidth) { $widthratio = $maxwidth / $width; $resize_width = true; } if ($maxheight && $height > $maxheight) { $heightratio = $maxheight / $height; $resize_height = true; } if ($resize_width && $resize_height) { if ($widthratio < $heightratio) { $ratio = $widthratio; } else { $ratio = $heightratio; } } elseif ($resize_width) { $ratio = $widthratio; } elseif ($resize_height) { $ratio = $heightratio; } $newwidth = $width * $ratio; $newheight = $height * $ratio; if (function_exists("imagecopyresampled")) { $newim = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($newim, $jpg, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); } else { $newim = imagecreate($newwidth, $newheight); imagecopyresized($newim, $jpg, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); } imagejpeg($newim, $path.'/'.$newname); imagedestroy($newim); } else { imagejpeg($jpg, $path.'/'.$newname); } imagedestroy($jpg); return true; } ?>