PHP生成圆角图片

技术笔记 - PHP - 功能函数

发布时间:2019-06-29 02:19:08

admin 于  2020-12-25 23:08:28 编辑

<*?php
	/** 圆角
	$radius	 = 100;
	$img	 = imagecreatetruecolor($radius, $radius);	// 创建一个正方形的图像
	$bgcolor	= imagecolorallocate($img, 223, 0, 0);	 // 图像的背景
	$fgcolor	= imagecolorallocate($img, 0, 0, 0);
	imagefill($img, 0, 0, $bgcolor);
	// $radius,$radius:以图像的右下角开始画弧
	// $radius*2, $radius*2:已宽度、高度画弧
	// 180, 270:指定了角度的起始和结束点
	// fgcolor:指定颜色
	imagefilledarc($img, $radius, $radius, $radius*2, $radius*2, 180, 270, $fgcolor, IMG_ARC_PIE);
	// 将弧角图片的颜色设置为透明
	imagecolortransparent($img, $fgcolor);
	// 变换角度
	// $img	= imagerotate($img, 90, 0);
	// $img	= imagerotate($img, 180, 0);
	// $img	= imagerotate($img, 270, 0);
	header('Content-Type: image/png');
	imagepng($img);
	**/
	
	function get_lt_rounder_corner($radius) {
		$img	 = imagecreatetruecolor($radius, $radius);	// 创建一个正方形的图像
		$bgcolor	= imagecolorallocate($img, 223, 0, 0);	 // 图像的背景
		$fgcolor	= imagecolorallocate($img, 0, 0, 0);
		imagefill($img, 0, 0, $bgcolor);
		// $radius,$radius:以图像的右下角开始画弧
		// $radius*2, $radius*2:已宽度、高度画弧
		// 180, 270:指定了角度的起始和结束点
		// fgcolor:指定颜色
		imagefilledarc($img, $radius, $radius, $radius*2, $radius*2, 180, 270, $fgcolor, IMG_ARC_PIE);
		// 将弧角图片的颜色设置为透明
		imagecolortransparent($img, $fgcolor);
		// 变换角度
		// $img	= imagerotate($img, 90, 0);
		// $img	= imagerotate($img, 180, 0);
		// $img	= imagerotate($img, 270, 0);
		// header('Content-Type: image/png');
		// imagepng($img);
		return $img;
	}
 
	$image_width	= 300;
	$image_height	= 300;
	$resource	 = imagecreatetruecolor($image_width, $image_height);	// 创建一个正方形的图像
	$bgcolor	 = imagecolorallocate($resource, 223, 223, 0);	 // 图像的背景
	imagefill($resource, 0, 0, $bgcolor);
 
	// 圆角处理
	$radius	 = 30;
	// lt(左上角)
	$lt_corner	= get_lt_rounder_corner($radius);
	imagecopymerge($resource, $lt_corner, 0, 0, 0, 0, $radius, $radius, 100);
	// lb(左下角)
	$lb_corner	= imagerotate($lt_corner, 90, 0);
	imagecopymerge($resource, $lb_corner, 0, $image_height - $radius, 0, 0, $radius, $radius, 100);
	// rb(右上角)
	$rb_corner	= imagerotate($lt_corner, 180, 0);
	imagecopymerge($resource, $rb_corner, $image_width - $radius, $image_height - $radius, 0, 0, $radius, $radius, 100);
	// rt(右下角)
	$rt_corner	= imagerotate($lt_corner, 270, 0);
	imagecopymerge($resource, $rt_corner, $image_width - $radius, 0, 0, 0, $radius, $radius, 100);
 
	header('Content-Type: image/png');
	imagepng($resource);
	exit;
?>


转载声明:本站文章无特别说明,皆为原创,版权所有,转载请注明:Dy大叔的日常

转载自 PHP生成圆角图片 | XDY.ME@Dy大叔的日常

XDY.ME@Dy大叔的日常