图片剪切成圆形的代码
原创 52cxy 11-27 14:42 阅读数:573

将图片剪切成圆形的PHP代码

/**
 * 将图片剪切成圆形
 * @param $src - 原图片路径
 * @param $dest -处理后的图片链链接
 * @param $height -剪切的圆形宽度(直经)
 */
function cropCircle($src, $dest, $circleWidth)
{
	$imgData = imagecreatefromstring(file_get_contents($src));
	$width = imagesx($imgData);
	$height = imagesy($imgData);
	
	$image = imagecreatetruecolor($circleWidth, $circleWidth);
	imagealphablending($image, true);
	imagecopyresampled($image, $imgData, 0, 0, 0, 0, $circleWidth, $circleWidth, $width, $height);
	
	//创建真彩色图像
	$maskData = imagecreatetruecolor($circleWidth, $circleWidth);
	
	$transparent = imagecolorallocate($maskData, 255, 0, 0);
	imagecolortransparent($maskData, $transparent);
	
	imagefilledellipse($maskData, $circleWidth/2, $circleWidth/2, $circleWidth, $circleWidth, $transparent);
	
	$fillColor = imagecolorallocate($maskData, 0, 0, 0);
	imagecopymerge($image, $maskData, 0, 0, 0, 0, $circleWidth, $circleWidth, 100);
	imagecolortransparent($image, $fillColor);
	imagefill($image, 0, 0, $fillColor);
	
	imagepng($image, $dest);
	imagedestroy($image);
	imagedestroy($maskData);
}
共0条评论
我要评论