HTML5学习第16篇——线性渐变和径向渐变

1、线性渐变

  • 定义和用法

createLinearGradient() 方法用于创建线性渐变对象。

渐变可用于填充矩形、圆形、线条、文本等等。

使用 addColorStop() 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。

  • JavaScript 语法:

context.createLinearGradient(x0,y0,x1,y1);

  • 参数值

参数描述
x0渐变开始点的 x 坐标
y0渐变开始点的 y 坐标
x1渐变结束点的 x 坐标
y1渐变结束点的 y 坐标
  • 示例
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>canvas 线性渐变</title>
	<style type="text/css">
		canvas{
			border: 1px solid red;
		}
	</style>
</head>
<body>
	<canvas width="600" height="400"></canvas>
	<script type="text/javascript">
		var c = document.querySelector('canvas');
		var ctx = c.getContext("2d");

		//创建线性渐变方案
		//参数为起始位置的横纵坐标,终点位置的横纵坐标
		var lgd = ctx.createLinearGradient(100,200,500,200);

		//渐变颜色设置(渐变方案线条中的位置,颜色) 0代表开始位置,
		//1代表结束位置,参数1只能介于0-1之间
		lgd.addColorStop(0,"red");
		lgd.addColorStop(0.5,"green");
		lgd.addColorStop(1,"blue");

		//将渐变方案给样式设置
		ctx.strokeStyle = lgd;
		ctx.moveTo(100,200);
		ctx.lineTo(500,200);
		ctx.lineWidth = 20;
		ctx.stroke();
	</script>
</body>
</html>

效果:

2、径向渐变

  • 定义和用法

createLinearGradient() 方法创建放射状/圆形渐变对象。

渐变可用于填充矩形、圆形、线条、文本等等。

使用 addColorStop() 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。

  • JavaScript 语法:

context.createRadialGradient(x0,y0,r0,x1,y1,r1);

  • 参数值
参数描述
x0渐变的开始圆的 x 坐标
y0渐变的开始圆的 y 坐标
r0开始圆的半径
x1渐变的结束圆的 x 坐标
y1渐变的结束圆的 y 坐标
r1结束圆的半径
  • 示例
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>cavans 径向渐变</title>
	<style type="text/css">
		canvas{
			border: 1px solid black;
		}
	</style>
</head>
<body>
	<canvas width="600" height="400"></canvas>
	<script>
		var c = document.querySelector('canvas');
		var ctx = c.getContext("2d");

		//createLinearGradient() 方法创建放射状/圆形渐变对象。
		//createRadialGradient(x0,y0,r0,x1,y1,r1);
		//渐变的开始圆的 x 坐标,y坐标,半径,结束圆的 x 坐标,y坐标,半径
		var crg = ctx.createRadialGradient(300,200,50,300,200,100);

		crg.addColorStop(0,"red");
		crg.addColorStop(1,"yellow");

		ctx.fillStyle =  crg;

		//ctx.fillRect(50,50,300,200);
		ctx.arc(300,200,100,0,Math.PI*2);
		ctx.fill();

	</script>
</body>
</html>

效果:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值