canvas初学之——绘制一片星空

                                       利用canvas画一片星空

 

效果图如下:

 

   

观察这篇星空:
    多一半的位置被随机分布的星星所覆盖,右上角有一轮月牙,背景色为深蓝色到黑色的渐变色,下方是一片波浪形绿地,绿地颜色也为渐变色。


1.首先,如何绘制渐变色?
   已知可以绘制的渐变色有两种情况,径向渐变(Radial Gradient)和线性渐变(Linear Gradient)。

                                                              径向渐变与线性渐变效果如图:

 

 

第一张图为线性渐变,第二张图为径向渐变

·线性渐变Linear Gradient
            eg:var grd = cxt.createLinearGradient(xstart,ystart,xend,yend);
                //构成渐变线,得到渐变线的方向和尺度
               grd.addColorStop(stop,color);
                stop:介于 0.0 与 1.0 之间的值,表示渐变中开始与结束之间的位置
                color 在结束位置显示的 CSS 颜色值     

    上图中线性渐变代码如下:

 


			var linearGrad = context1.createLinearGradient(0,0,800,800);
			linearGrad.addColorStop(0.0, '#fff');
			linearGrad.addColorStop(0.3, 'yellow');
			linearGrad.addColorStop(0.6, '#e89abe');
			linearGrad.addColorStop(1.0, 'blue');
			context1.fillStyle = linearGrad;
			context1.fillRect(0,0,800,800);

在0.0-1.0种用了4种颜色,这4种颜色 呈线性渐变

 


 ·径向渐变Radial Gradient
            呈放射状渐变,定义在两个同心圆,而非两点  
            eg:var grd = cxt.createRadialGradient(x0,y0,r0,x1,y1,r1);
               grd.addColorStop(stop,color);

 

上图中径向渐变代码如下:

var radialGrad = context2.createRadialGradient(400,400,0,400,400,500);
			radialGrad.addColorStop(0.0, '#fff');
			radialGrad.addColorStop(0.3, 'ye
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值