/**
* 生成缩略图
* @param string $file_name 源图片
* @param string $file_folder
* @param number $quality 缩略图的生成品质(范围:1-100),值越大缩略图的品质越好(缩略图的文件大小跟品质成正比)
* @return multitype:number string
*/
function create_image_small($file_name, $file_folder, $quality = 50 , $file_folder1 = '') {
$imgPathInfo = path_info($file_name);
$imgFile = $file_folder . $file_name;
$result = array();
if (!file_exists($imgFile)) {
$result['status'] = 404;
$result['message'] = "源图片获取失败";
$result['src_file_name'] = $imgFile;
return $result;
}
$imgInfo = getimagesize($imgFile);
if ($imgInfo) {
$imgWidth = $imgInfo[0];
$imgHeight = $imgInfo[1];
$imgType = $imgInfo[2];
$srcImg = null;
switch ($imgType) {
case IMAGETYPE_GIF:
$srcImg = imagecreatefromgif($imgFile);
break;
case IMAGETYPE_JPEG:
$srcImg = imagecreatefromjpeg($imgFile);
break;
case IMAGETYPE_PNG:
$srcImg = imagecreatefrompng($imgFile);
break;
case IMAGETYPE_WBMP:
$srcImg = imagecreatefromwbmp($imgFile);
break;
default:
break;
}
$smallImg = imagecreatetruecolor($imgWidth, $imgHeight);
imagecopyresampled($smallImg, $srcImg, 0, 0, 0, 0, $imgWidth, $imgHeight, $imgWidth, $imgHeight);
if(empty($file_folder1)){
$file_folder1 = $file_folder;
}
$smallFileName = $file_folder1 . $imgPathInfo['filename'] . "_small." . $imgPathInfo['extension'];
imagejpeg($smallImg, $smallFileName, $quality);
imagedestroy($srcImg);
imagedestroy($smallImg);
$result['status'] = 0;
$result['message'] = "缩略图生成成功";
$result['src_file'] = $file_name;
$result['small_file'] = $imgPathInfo['filename'] . "_small." . $imgPathInfo['extension'];
return $result;
}
$result['status'] = 500;
$result['message'] = "源图片大小读取失败";
$result['src_file_name'] = $imgFile;
return $result;
}
PHP 图片缩略图处理类
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 今天的实现目标就是使用GD库完成对图片加水印和图片缩略图两个功能 动身前逻辑准备 接下来将文字描述转换为代码 首先...
- 首先创建一个用来展示图片效果的页面 index.php 代码: 貌似不能复制代码了--发截图了 代码放到git里去...