欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP缩略图类

程序员文章站 2022-04-26 12:49:46
...
0 && $countP==$countW && $countW==$countH) {				//遍历一个数组,生成多张缩略图				$reArr = array();				foreach ($thumb_prefix_arr as $key=>$value){					//生成空白画布并填充颜色					$image = imagecreatetruecolor($thumb_width_arr[$key], $thumb_height_arr[$key]);					$color = imagecolorallocate($image, 255, 255, 255);//白色					imagefill($image, 0, 0, $color);					//计算出缩略比例					$width_scale = $imgArr['width']/$thumb_width_arr[$key];//宽比					$height_scale = $imgArr["height"]/$thumb_height_arr[$key];//高比					$scale = $width_scale>$height_scale ? $width_scale : $height_scale;					//计算缩略图宽高					$width = $imgArr["width"]/$scale;					$height = $imgArr["height"]/$scale;					//到目标图片的位置					$dst_x = ($thumb_width_arr[$key]-$width)/2;					$dst_y = ($thumb_height_arr[$key]-$height)/2;					//获取原始图片资源并拷贝					$src_image = $imgArr["createFunName"]($sPath);//获取原始图片资源					imagecopyresized($image, $src_image, $dst_x, $dst_y, 0, 0, $width, $height, $imgArr["width"], $imgArr["height"]);					//保存并返回值					$re = $imgArr['saveFunName']($image,self::$thumb_savePath.'/'.$thumb_prefix_arr[$key].$imgArr['name']);					$reArr[$key] = $re;				}				//销毁缩略图资源及原图片资源,释放内存				imagedestroy($image);				imagedestroy($src_image);				return $reArr;//返回数组			}else{				return false;			}		}else{			return false;		}	}		protected static function getImageInfo($path){		if (is_file($path)) {			$imgArr = getimagesize($path);			if (is_array($imgArr)) {//如果$imgArr是一个数组,则说明$path是一个真实图片				//判断不同的图片类型,使用变量函数,生成图片资源:$createFunName,保存图片资源:$saveFunName				switch ($imgArr['mime']){					case 'image/jpeg':					case 'image/pjpeg':						$createFunName = 'imagecreatefromjpeg';						$saveFunName = 'imagejpeg';						break;					case 'image/png':						$createFunName = 'imagecreatefrompng';						$saveFunName = 'imagepng';						break;					case 'image/gif':						$createFunName = 'imagecreatefromgif';						$saveFunName = 'imagegif';						break;					default:						return false;										}				//获取原图片名称				$oldName = pathinfo($path,PATHINFO_BASENAME);				//返回图片信息数组				return array(						'name'=>$oldName,						'type'=>$imgArr['mime'],						'width'=>$imgArr[0],						'height'=>$imgArr[1],						'createFunName'=>$createFunName,						'saveFunName'=>$saveFunName				);			}		}else{			return false;		}	}}
相关标签: PHP缩略图类