html圆渐变颜色代码,HTML5 canvas createRadialGradient()放射状/圆形渐变(示例代码)

定义和用法

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

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

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

原理示意图

8b93691d7f57b17c9740f5afc265e64c.png

JavaScript 语法:

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

参数值

参数描述

x0

渐变的开始圆的 x 坐标

y0

渐变的开始圆的 y 坐标

r0

开始圆的半径

x1

渐变的结束圆的 x 坐标

y1

渐变的结束圆的 y 坐标

r1

结束圆的半径

实例:

varcanvas=document.getElementById(‘canvas1‘);varctx=canvas.getContext(‘2d‘);vargrd=ctx.createRadialGradient(100,100,5,100,100,100);

grd.addColorStop(0,‘red‘);

grd.addColorStop(1,‘white‘);//使用经向渐变

ctx.fillStyle=grd;

ctx.fillRect(0,0, canvas.width, canvas.height);

8d3215df68fb36e01449445a7c302df5.png

浏览器支持

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持 createRadialGradient() 方法。

注释:Internet Explorer 8 或更早的浏览器不支持 元素。

原理示意说明:

varcanvas=document.getElementById(‘canvas1‘);varctx=canvas.getContext(‘2d‘);//当cycle1在cycle2里边时,并且圆心重合

varcycle1={

x:200,

y:200,

r:25};varcycle2={

x:200,

y:200,

r:80};

ctx.beginPath();

ctx.arc(cycle1.x, cycle1.y, cycle1.r,0, Math.PI* 2,false);

ctx.stroke();

ctx.beginPath();

ctx.arc(cycle2.x, cycle2.y, cycle2.r,0, Math.PI* 2,false);

ctx.stroke();//使用经向渐变

vargrd=ctx.createRadialGradient(cycle1.x, cycle1.y, cycle1.r, cycle2.x, cycle2.y, cycle2.r);

grd.addColorStop(0,‘rgba(255,0,0,0.75)‘);

grd.addColorStop(0.5,‘rgba(0,255,0,0.75)‘);

grd.addColorStop(1,‘rgba(0,0,255,0.75)‘);

ctx.fillStyle=grd;

ctx.fillRect(0,0,500,500);

一、两个圆大小不相等情况下

1.当cycle1在cycle2里边时,并且圆心重合

2935b5a97d7d7c0e2b0dc5b114a782ad.png

2.当cycle1在cycle2里边时,圆心不重合

100563a1d0e64c6d12c2acb400fc32ba.png

3.当cycle2在cycle1里边时,圆心不重合时

c54814df30e45aefa7f73105e1ed79fa.png

4.当cycle1和cycle2相离时,并且大小不相同

ebee3d3c5d7703b85d33ce42ed9437d5.png

f37a44d783c71bd49c53fa2b406e9e0e.png

二、两个圆大小相等情况下

1.当cycle1和cycle2相离时,并且大小相同

a9d943ed3b8bf56e6d0768482e9802f5.png

2.当cycle1和cycle2相交时,并且大小相同

c1ce3e3af3ad780d5575dffc953c7be2.png

3.当cycle1和cycle2相交时,圆心相同,并且大小相同

7ec391911737fc08ff342a7932741407.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值