如何用html5编写彩色同心圆,HTML5 canvas 同心圆动画

原创。产生的动画效果:

* 生成文字渐变颜色随时间的变化。

* 使得一组同心圆的取色,随时间而变化

1.[图片] open_source.png

22101626_m5ft.png

2.[代码][JavaScript]代码

var c=new Array("red","blue","cyan","darkGray","green","lightGrey","orange","pink","magenta","lightBlue","yellow","black");

var d =220;

var x0=200;

var y0=200;

var ticker =0; //一组同心圆的取色,随 ticker 的递增而变化

var index=-595;//为文字设置渐变颜色,其范围随index变化而变。

var direction=1;

function drawName(){

var canvas =document.getElementById("myCanvas");

var gg =canvas.getContext("2d");

var gradient=gg.createLinearGradient(index,0,600,0);

if (direction==1) index = index + 5;

else if (direction==0) index = index - 5;

if (index==600) direction=0;

if (index==-600) direction=1;

for (var i=0;i<=10;i++)//设立渐变填色

gradient.addColorStop(i/10,c[i]);

// 让画笔 gg 使用渐变填色

gg.fillStyle=gradient;

gg.font ="100px KAITI";

gg.fillText("开源中国",20, 80);

}

function draw() {

drawConcentric( 210, 300);

}

function drawConcentric( x0, y0){

var canvas =document.getElementById("myCanvas");

var gg =canvas.getContext("2d");

for (var i=1; i<11; i++){

gg.fillStyle=c[(i+ticker)%c.length];//取余,保证下标有效

gg.beginPath();

gg.arc(x0,y0, d - 20*i , 0, 2*Math.PI);

gg.fill();

}

ticker++; //一组同心圆的取色,随 ticker 的递增而变化

}

function preparation(){;

setInterval('drawConcentric(220,300)',500)

setInterval('drawName()',50);

}

同心圆

#myCanvas{

width:900;

height:600;

position:absolute;left;0px;top;0px;

}

Your browser does not support the HTML5 canvas tag.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值