现在的位置: 首页 > 综合 > 正文

canvas画一个角

2012年12月25日 ⁄ 综合 ⁄ 共 1059字 ⁄ 字号 评论关闭

要想在canvas上画一个角度原生提供的是不够的必须手动来完成,第一步画一个弧度,第二步才是话角度没1/10面改变一个,就出现一个圆形的扫描图,最基本的三角函数知识,画直线很容易,另外做一些稍微的改变,不请空画布,用一条直线就可以实现所谓的扫描进度,很容易吧,呵呵

<!DOCTYPE>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script type="text/javascript" src="lib/canvas/canvas-1.2.dev.js">
        </script>
        <title>测试Canvas 方法</title>
    </head>
    <body style="padding:0 0 0 0; margin:0 0 0 0;">
        <div style="width:100%;height:100%; padding:0 0 0 0; margin:0 0 0 0; font-size:50px;">
            <canvas style="background-color:black; width:100%; height:100%; padding:0 0 0 0; margin:0 0 0 0;" id="ctMs">
            </canvas>
        </div>
        <script type="text/javascript">
            var timmer=null,cnt=0;
                  setInterval(loadProc,10);
                  //cvs.strokeStyle('rgba(112, 100, 133, 1)');
                  function loadProc(){
                        
                        var cvs = Canvas("ctMs", 0);
                         cvs.clear();
                         cnt++;
                        var star = cnt%360-60;
                        var end = cnt%360;                        
                        cvs.strokeArc(200, 200, 50,star , end, false, true, ALIGN.CENTER.MIDDLE);
                        cvs.save();
                        cvs.translate(200, 200);
                        cvs.strokeLine(0, 0, Math.cos(Math.PI / 180 * star) * 50, Math.sin(Math.PI / 180 * star) * 50);
                        cvs.strokeLine(0, 0, Math.cos(Math.PI / 180 * end) * 50, Math.sin(Math.PI / 180 * end) * 50);
                        cvs.restore();
                  }
                  
        </script>
    </body>
</html>

  

抱歉!评论已关闭.