请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
HmjijsbZ(uid:2520483)
职业资格认证:FCA-FineBI | FCA-FineReport
  • var dom=document.getElementById("view");  //获取canvas元素 var ctx=dom.getContext("2d");            //创建context对象 var width=ctx.canvas.width; var height=ctx.canvas.height; var r=width/2; //绘制时钟背景 function drawBackground(){ ctx.translate(r,r);      //将画布原点重置为画布的中心 ctx.beginPath(); ctx.lineWidth=10; ctx.arc(0,0,r-5,0,2*Math.PI);    //绘制一个圆,即时钟的边框 ctx.stroke(); //绘制时钟上的刻度 for(var i=0;i<60;i++){     var x=(r-20)*Math.cos(Math.PI*2/60*i);     var y=(r-20)*Math.sin(Math.PI*2/60*i); //每逢5个刻度使用黑色绘制,其余用灰色绘制     if(i%5===0){ ctx.fillStyle="#000000"; }else{ ctx.fillStyle="#cccccc"; } ctx.beginPath(); ctx.arc(x,y,5,0,2*Math.PI); ctx.fill(); } //绘制时钟上的数字 ctx.font="20px Arial"; ctx.textAlign="center"; ctx.textBaseline="middle"; ctx.fillStyle="#000000"; for(var j=0;j<12;j++){     var ax=(r-50)*Math.cos(Math.PI*2/12*j);     var ay=(r-50)*Math.sin(Math.PI*2/12*j); ctx.beginPath(); ctx.fillText(j>9?j-9:j+3,ax,ay);  //因为PI的角度计算是从3点钟方向顺时针计算的,所以要对数字判断处理 ctx.fill(); } } //绘制时针 function drawHour(hour,minute,second){ ctx.save();      //保存当前绘图环境 ctx.beginPath(); //时针的角度等于小时的角度加分钟和秒钟转化为小时的角度 var rad=2*Math.PI/12*hour+2*Math.PI/12/60*minute+2*Math.PI/12/60/3600*second; ctx.rotate(rad); ctx.lineWidth=14; ctx.lineCap="round"; //设置画线结束端为圆帽形 ctx.moveTo(0,20); ctx.lineTo(0,-r+100); ctx.stroke(); ctx.restore();   //返回之前保存的绘图环境 } //绘制分针 function drawMinute(minute,second){ ctx.save();      //保存当前绘图环境 ctx.beginPath(); //分针的角度等于分钟的角度加秒钟转化为分钟的角度 var rad=2*Math.PI/60*minute+2*Math.PI/3600*second; ctx.rotate(rad); ctx.lineWidth=10; ctx.lineCap="round"; ctx.moveTo(0,20); ctx.lineTo(0,-r+80); ctx.stroke(); ctx.restore();   //返回之前保存的绘图环境 } //绘制秒针 function drawSecond(second){ ctx.save();      //保存当前绘图环境 ctx.beginPath(); ctx.fillStyle="#FF0000"; var rad=2*Math.PI/60*second;   //秒针的角度为当前秒钟的角度 ctx.rotate(rad); ctx.lineWidth=2; ctx.lineCap="round"; ctx.moveTo(0,30); ctx.lineTo(8,0); ctx.lineTo(0,-r+30); ctx.lineTo(-8,0); ctx.lineTo(0,30); ctx.fill(); ctx.restore();   //返回之前保存的绘图环境 } //重新绘制时钟 function run(){ ctx.clearRect(0,0,width,height);   //清空整张画布,在下面的代码中重新绘制 ctx.save();     //保存当前绘图环境 var time =new Date();      //获取当前时间 var hour=time.getHours();    //获取小时数 var minute=time.getMinutes();  //获取分钟数 var second=time.getSeconds();  //获取秒数 drawBackground();              //绘制背景     drawHour(hour,minute,second);  //绘制时针     drawMinute(minute,second);     //绘制分针     drawSecond(second);            //绘制秒针 //绘制时钟中心的那个点     ctx.fillStyle="#555";     ctx.beginPath(); ctx.arc(0,0,8,0,2*Math.PI); ctx.fill(); ctx.restore();  //返回之前保存的绘图环境 } window.setInterval(function(){run();},1000);  //每隔一秒重新绘制时钟
  • https://help.fanruan.com/finereport/doc-view-2308.html
  • var dom=document.getElementById("view");  //获取canvas元素var ctx=dom.getContext("2d");            //创建context对象var width=ctx.canvas.width;var height=ctx.canvas.height;var r=width/2;//绘制时钟背景function drawBackground(){ctx.translate(r,r);      //将画布原点重置为画布的中心ctx.beginPath();ctx.lineWidth=10;ctx.arc(0,0,r-5,0,2*Math.PI);    //绘制一个圆,即时钟的边框ctx.stroke();//绘制时钟上的刻度for(var i=0;i<60;i++){    var x=(r-20)*Math.cos(Math.PI*2/60*i);    var y=(r-20)*Math.sin(Math.PI*2/60*i);//每逢5个刻度使用黑色绘制,其余用灰色绘制    if(i%5===0){ctx.fillStyle="#000000";}else{ctx.fillStyle="#cccccc";}ctx.beginPath();ctx.arc(x,y,5,0,2*Math.PI);ctx.fill();}//绘制时钟上的数字ctx.font="20px Arial";ctx.textAlign="center";ctx.textBaseline="middle";ctx.fillStyle="#000000";for(var j=0;j<12;j++){    var ax=(r-50)*Math.cos(Math.PI*2/12*j);    var ay=(r-50)*Math.sin(Math.PI*2/12*j);ctx.beginPath();ctx.fillText(j>9?j-9:j+3,ax,ay);  //因为PI的角度计算是从3点钟方向顺时针计算的,所以要对数字判断处理ctx.fill();}}//绘制时针function drawHour(hour,minute,second){ctx.save();      //保存当前绘图环境ctx.beginPath();//时针的角度等于小时的角度加分钟和秒钟转化为小时的角度var rad=2*Math.PI/12*hour+2*Math.PI/12/60*minute+2*Math.PI/12/60/3600*second;ctx.rotate(rad);ctx.lineWidth=14;ctx.lineCap="round"; //设置画线结束端为圆帽形ctx.moveTo(0,20);ctx.lineTo(0,-r+100);ctx.stroke();ctx.restore();   //返回之前保存的绘图环境}//绘制分针function drawMinute(minute,second){ctx.save();      //保存当前绘图环境ctx.beginPath();//分针的角度等于分钟的角度加秒钟转化为分钟的角度var rad=2*Math.PI/60*minute+2*Math.PI/3600*second;ctx.rotate(rad);ctx.lineWidth=10;ctx.lineCap="round";ctx.moveTo(0,20);ctx.lineTo(0,-r+80);ctx.stroke();ctx.restore();   //返回之前保存的绘图环境}//绘制秒针function drawSecond(second){ctx.save();      //保存当前绘图环境ctx.beginPath();ctx.fillStyle="#FF0000";var rad=2*Math.PI/60*second;   //秒针的角度为当前秒钟的角度ctx.rotate(rad);ctx.lineWidth=2;ctx.lineCap="round";ctx.moveTo(0,30);ctx.lineTo(8,0);ctx.lineTo(0,-r+30);ctx.lineTo(-8,0);ctx.lineTo(0,30);ctx.fill();ctx.restore();   //返回之前保存的绘图环境}//重新绘制时钟function run(){ctx.clearRect(0,0,width,height);   //清空整张画布,在下面的代码中重新绘制ctx.save();     //保存当前绘图环境var time =new Date();      //获取当前时间var hour=time.getHours();    //获取小时数var minute=time.getMinutes();  //获取分钟数var second=time.getSeconds();  //获取秒数drawBackground();              //绘制背景    drawHour(hour,minute,second);  //绘制时针    drawMinute(minute,second);     //绘制分针    drawSecond(second);            //绘制秒针//绘制时钟中心的那个点    ctx.fillStyle="#555";    ctx.beginPath();ctx.arc(0,0,8,0,2*Math.PI);ctx.fill();ctx.restore();  //返回之前保存的绘图环境}window.setInterval(function(){run();},1000);  //每隔一秒重新绘制时钟
  • 能让报表块里的字,根据时间显示不一样的字吗?
  • 怎么让词云图的提示里有其他数据列数据啊?而且这个数据颜色是单独的?
  • 在决策报表里,能针对报表块的某一列实现鼠标悬停字体变色变大吗?
  • 求助,我可以在单元格里插入一个图片,然后用js使这个图片绕着圆心旋转吗?代码应该怎么写呢?
  • 在决策报表里怎么实现对报表块的某一个单元格添加js代码啊?
  • 在决策报表里,能针对报表块的某一列实现鼠标悬停字体变色变大吗?

546

7

546

10

个人成就
内容被浏览54,984
加入社区166天
返回顶部