未完成的Canvas

xiaoxiao2021-02-28  145

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>123456789</title> <link rel="stylesheet" href="style.css"> </head> <body> <div style="width: 1800px; margin: 0 auto; position: relative; "> <canvas id="myCanvas" width="1800" height="900"></canvas> <div class="TPY" > <p>特派员</p> </div> <div class="TPY1" > <p>扶贫</p> </div> <div class="TPY2" > <p>科技成果</p> </div> <div class="TPY3" > <p>星创天地</p> </div> </div> <script> var MyCanvas = document.getElementByIdx-x-x-x("myCanvas"); var Graph = MyCanvas.getContext("2d"); //能量方格 function energyBlank(a,b,number,color) { //a为起点弧度,b为终点弧度,number为能量方格的数量 Graduate(a,b,430+10*number,color); Graduate(a,b,430,"#062e48"); for(var i=0;i<number;i++){ circle(10*i+440,"#062e48",3); } } energyBlank(344.3,345.7,16,"yellow"); energyBlank(10.3,11.7,16,"blue"); energyBlank(164.3,165.7,16,"red"); energyBlank(190.3,191.7,16,"pink"); //算出线条的数量 for(var i=0;i<180;i++){ curve(2*i,2*(i+1),1000); } //线圈弧形 function curve(a,b,r){ Graph.beginPath(); Graph.moveTo(900,450); Graph.arc(900,450,r,rads(a),rads(b),false); Graph.closePath(); Graph.lineWidth=1; //定义变量 canvasGradient 弧型线中心处的渐变效果 以(900,450,0,900,450,rx坐标(900)、y坐标(450)、半径(0)到半径为r的外圆(圆心坐标点同为900,450 var canvasGradient = Graph.createRadialGradient(900,450,0,900,450,r); //0-0.2的位置的渐变 canvasGradient.addColorStop(0,"rgba(0,0,0,0)"); canvasGradient.addColorStop(0.2,"rgba(0,0,0,0)"); //0.2(开始)-0.3(结束)的位置的渐变 canvasGradient.addColorStop(0.2, "#062e48"); canvasGradient.addColorStop(0.3, "#0c3352"); canvasGradient.addColorStop(1, "#1d455f"); Graph.strokeStyle = canvasGradient; Graph.stroke(); } function rads(x){ return Math.PI*x/180; } //弧线上面的圆线 function circle(r,color,line) { Graph.beginPath(); Graph.strokeStyle=color; Graph.lineWidth=line; Graph.arc(900,450,r,0,2*Math.PI); Graph.stroke(); } //线的属性(半径,颜色,宽度) circle(720,"#1d455f",1); circle(670,"#1d455f",1); circle(420,"#1d455f",1); //四个角落遮罩 function shade(a,b,c,d,e,f){ Graph.beginPath(); Graph.moveTo(a,b); Graph.lineTo(c,d); Graph.lineTo(e,f); Graph.strokeStyle = "#062e48"; Graph.fillStyle = "#062e48"; //Graph.closePath();/*可有可无 关闭绘制的路径*/ Graph.fill(); Graph.stroke(); } //四个角落的遮罩图 shade(0,0,0,320,520,0); shade(0,900,250,900,0,760); shade(1800,0,1550,0,1800,140); shade(1800,900,1550,900,1800,280); //四个区域的方格能量 function Graduate(a,b,r,color) { Graph.beginPath(); Graph.moveTo(900,450); Graph.arc(900,450,r,rads(a),rads(b),false); Graph.closePath(); Graph.strokeStyle = "#062e48"; Graph.stroke(); //该对象的作用域是以(900,450)为圆心、半径为0px的内圆和以(950,450)为圆心、半径为r的外圆之间的环状区域 var canvasGradient = Graph.createRadialGradient(900,450,410,900,450,670); canvasGradient.addColorStop(0, "#062e48"); canvasGradient.addColorStop(1, color); Graph.fillStyle = canvasGradient; Graph.fill(); } //能量格文字 var textArr=["xxxxx"]; var num = 2*Math.PI/360; Graph.translate(900,450); function angle(Txtangle) { for(var i=0;i<1;i++){ Graph.save(); Graph.beginPath(); Graph.rotate((i*2+Txtangle)*num); Graph.fillStyle="#fff"; Graph.font="14px 宋体"; Graph.fillText(textArr[i],600,0); Graph.restore(); Graph.stroke(); } } angle(11.7); angle(327.7); angle(191.7); angle(147.7); </script> </body> </html>
转载请注明原文地址: https://www.6miu.com/read-37309.html

最新回复(0)