PHP实现图片锐化代码
原创 52cxy 11-26 14:47 阅读数:450

图片锐化示例代码:

/**
 * 图片锐化
 * @param string $src 原图片完整路径
 * @param string $dst 锐化后的图片
 * @return true|false 成功返回true 失败返回false
 */
function imageSharpen($src, $dst){
	$imgInfo = getimagesize($src);
    $imgType = $imgInfo[2];
    
	if($imgType == 1){
		$imgData = imagecreatefromgif($src);
	}
	elseif($imgType == 2){
		$imgData = imagecreatefromjpeg($src);
	}
	elseif($imgType == 3){
		$imgData = imagecreatefrompng($src);
	}
	else return false;
		
	//  define the sharpen matrix
	$sharpen =  array(
		array(0.0, -1.0, 0.0),
		array(-1.0, 5.0, -1.0),
		array(0.0,  -1.0, 0.0)
	);
	
	$divisor =  array_sum(array_map('array_sum',  $sharpen));
	
	imageconvolution($imgData, $sharpen,  $divisor, 0);
	
	if($imgType == 1){
		imagejpeg($imgData, $dst);
	}
	elseif($imgType == 2){
		ImagePNG($imgData, $dst);
	}
	elseif($imgType == 3){
		imagegif($imgData, $dst);
	}
	return true;
}


共0条评论
我要评论