canvas Bertha 。 2021-12-23 14:19 321阅读 0赞 1.根据角度算弧度 R\*Math.PI/180 2. sin =a/c; //角的对边比斜边 3. cos =b/c; //角的邻边比斜边 4. tan =a/b; //角的对边比对边的邻边 5.已知圓的中心点坐标(c1,c2)求圆环的坐标 x = c1 + Math.sin( 弧度 \* Math.PI / 180 ) \* R; y = c2 + Math.cos( 弧度 \* Math.PI / 180 ) \* R; 6.自定义画圓函数 /** * 用点画圓 * @param c * @param x :中心坐标x * @param y :中心坐标y * @param r :半径 */ function drawCircle(c,x,y,r){ for(var i=0;i<360;i++){ var X = x + Math.sin(Math.PI*i/180) * r; var Y = y + Math.cos(Math.PI*i/180) * r; c.lineTo(X,Y); c.stroke(); } } 7. 直线指向鼠标 /** * 直线指向鼠标 * @param c * @param x :直线的x坐标 * @param y :直线的y坐标 * @param r : 直线的长度 */ function pointing(c,x,y,r){ document.addEventListener('mousemove',function(e){ var X = e.clientX - x ; var Y = e.clientY - y; var angle = Math.atan2(Y,X); //单位是弧度,不用再换算 c.clearRect(0,0,500,400); c.beginPath(); c.moveTo(x,y); c.lineWidth=10; c.lineTo(x+Math.cos(angle)*r,y+Math.sin(angle)*r); c.stroke(); },false); } /** * 绕中心点旋转并改变颜色 * @param c */ function rotateRect(c){ var angle=0; setInterval(function(){ c.clearRect(0,0,500,400); c.save(); c.translate(250,200); //移动画布左上角到旋转的中心点 c.rotate(Math.PI/180*angle++); c.fillStyle="rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+");" //随机设置颜色 c.fillRect(100,100,20,20); c.restore(); },10); } /** * 万花筒 * @param c */ function kaleidoscope(c){ var angle=0; var arr=[]; setInterval(function(){ c.clearRect(0,0,500,400); for(var i=0;i<arr.length;i++){ c.save(); c.translate(250,200); //移动画布左上角到旋转的中心点 c.rotate(Math.PI/180*arr[i].angle); c.fillStyle=arr[i].color; //随机设置颜色 c.fillRect(arr[i].num,arr[i].num,20,20); c.restore(); } },10); setInterval(function(){ //改变方块显示的弧度以及距离圓心的距离 for(var i =0 ; i<arr.length;i++){ arr[i].angle++; arr[i].num-=0.2; } },60) setInterval(function(){ //添加方块 arr.push({angle:0,num:100,color:"rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")"}); },1000) } /** * 模拟转盘 * @param c */ function zhuanpan(c){ var colors=['red','orange','yellow','green','gray','blue','purple','black']; var texts=['NBA','CBA','FIFA','WNBA','WCBA','UBA','MBA','EBA']; c.translate(250,200); var angle=0; var speed=20+10*Math.random(); var t=setInterval(function(){ c.clearRect(0,0,500,400); c.save(); if(speed<0.3){ clearInterval(t); c.font="20px micvrosoft yahei"; c.fillText(texts[texts.length-Math.ceil(angle/45)],0,-160); } if(angle>360)angle=0; speed*=0.99; angle+=speed; c.rotate(angle*Math.PI/180); for(var i=0;i<8;i++){ c.beginPath(); c.moveTo(0,0); c.arc(0,0,100,45*i*Math.PI/180,45*(i+1)*Math.PI/180,false); c.fillStyle=colors[i]; c.strokeStyle="fff"; c.closePath(); c.stroke(); c.fill(); } c.beginPath(); c.arc(0,0,10,0,2*Math.PI,false); c.fillStyle='#123456'; c.fill(); for(i=0;i<8;i++){ c.save(); c.beginPath(); c.fillStyle="#fff"; c.font="14px 微软雅黑"; c.rotate(Math.PI/180*(i*45+30)); c.fillText(texts[i],50,0); c.restore(); } c.restore(); c.beginPath(); c.moveTo(0,0); c.lineTo(40,0); c.strokeStyle='pink'; c.lineWidth=4; c.stroke(); },1); } 转载于:https://www.cnblogs.com/BigIdiot/p/3580456.html
相关 Canvas 一、认识canvas 1、什么是canvas canvas是html5的标签,可以用Javascript在html页面上绘制图形。 2、canvas可以做什么? ﹏ヽ暗。殇╰゛Y/ 2023年07月24日 14:37/ 0 赞/ 125 阅读
相关 Canva 创建画布 <canvas id="myCanvas" width="200" height="100"style="border:1px solid 000000;" 秒速五厘米/ 2022年12月04日 07:53/ 0 赞/ 148 阅读
相关 canvas 本篇是转载的,原创不是文章只是网络上的一个.md文件,发布的时候没法填原文链接,所以发的原创 Canvas > canvas 最早由Apple引入WebKit,用于Ma 分手后的思念是犯贱/ 2022年11月28日 10:42/ 0 赞/ 209 阅读
相关 canvas <html> <head> <title>Wormhole</title> </head> <body οnlοad="mai 曾经终败给现在/ 2022年10月01日 00:58/ 0 赞/ 164 阅读
相关 Canvas学习:Canvas入门准备 由于工作的需要,最近开始在学习HTML5的[`canvas`][canvas]相关的知识。这里主要记录自己学习`canvas`相关的知识笔记。如果文章有不对之处,还请大婶们多多 た 入场券/ 2022年09月30日 04:59/ 0 赞/ 271 阅读
相关 Canvas Canvas画布的正确理解 > 往常我理解的是我们画的东西就存在一张画布上,那么我们rotate以后为什么原来画上的东西还在原位置显示上。原来当Canvas执行drawXXX 一时失言乱红尘/ 2022年06月09日 04:56/ 0 赞/ 364 阅读
相关 CANVAS [知乎网页上屏幕截图功能的实现][Link 1] 介绍了知乎和 google keep 所提供的屏幕截图反馈功能,以及网页中用 js 截图的实现办法 [C 曾经终败给现在/ 2022年06月03日 00:05/ 0 赞/ 560 阅读
相关 canvas 写在前面 html5中, 新增了 canvas 元素, 用于绘制2d图形 准备工作 绘制之前, 需要在dom中加入canvas元素(canvas不指定宽高的情况下 悠悠/ 2022年05月21日 11:48/ 0 赞/ 191 阅读
相关 Canvas /\\ \ 用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。 \/ public native int s 一时失言乱红尘/ 2022年01月10日 14:41/ 0 赞/ 228 阅读
相关 canvas 1.根据角度算弧度 R\Math.PI/180 2. sin =a/c; //角的对边比斜边 3. cos =b/c; //角的邻边比斜边 4. tan =a/b; // Bertha 。/ 2021年12月23日 14:19/ 0 赞/ 321 阅读
还没有评论,来说两句吧...