html5 linear,HTML5 Canvas ( 线性渐变, 升级版的星空 ) createLinearGradient, addColorStop

canvas

*{margin:0;padding:0;outline:none;border:none;

}#canvas{width:7rem;margin:.25rem 0 0 1.5rem;border:1px solid black;

}

/**

* rem 布局初始化*/$(‘html‘).css(‘font-size‘, $(window).width()/10);

/**

* 获取 canvas 画布

* 获取 canvas 绘图上下文环境*/

varcanvas=$(‘#canvas‘)[0];varcxt=canvas.getContext(‘2d‘);/**

* 绘制一片星空*/

varskyStyle=cxt.createLinearGradient(0,0,0, canvas.height);

skyStyle.addColorStop(0.0,‘black‘);

skyStyle.addColorStop(1.0,‘#035‘);

cxt.fillStyle=skyStyle;

cxt.fillRect(0,0, canvas.width, canvas.height);for(vari= 0; i< 150; i++){varfiveStart={};

fiveStart.Radius=Math.random()*6+6;

fiveStart.offsetX=Math.random()*canvas.width;

fiveStart.offsetY=Math.random()*canvas.height*0.65;

fiveStart.RotationAngle=Math.random()*360;

drawFiveStar(cxt, fiveStart);

}/**

* 控制五角星的方法*/

functiondrawFiveStar(cxt, fiveStart){

cxt.save();

cxt.translate(fiveStart.offsetX, fiveStart.offsetY);//相对于原点的偏移量

cxt.rotate(fiveStart.RotationAngle/180*Math.PI);//图形旋转(弧度)

cxt.scale(fiveStart.Radius, fiveStart.Radius);//图形缩放( X轴的倍数, Y轴的倍数 )

fiveStartPath(cxt);

cxt.fillStyle= "yellow";

cxt.fill();

cxt.restore();

}/**

* 绘制标准五角星路径的方法*/

functionfiveStartPath(cxt){

cxt.beginPath();varx= 0; y= 0;for(vari= 0; i< 5; i++){

x=Math.cos((18+72*i)/180*Math.PI);

y=Math.sin((18+72*i)/180*Math.PI);

cxt.lineTo(x,0-y);

x=Math.cos((54+72*i)/180*Math.PI)/2.0;

y=Math.sin((54+72*i)/180*Math.PI)/2.0;

cxt.lineTo(x,0-y);

}

cxt.closePath();

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值