zoukankan      html  css  js  c++  java
  • html5 canvas arcTo()

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>html5 canvas从圆开始</title>
    <script src="js/modernizr.js"></script>
    </head>
    
    <body>
    
    
    <script type="text/javascript">
    window.addEventListener('load',eventWindowLoaded,false);
    function eventWindowLoaded(){
    	canvasApp();
    }
    function canvasSupport(){
    	return Modernizr.canvas;
    }
    function canvasApp(){
    	if(!canvasSupport()){
    		return;
    	}else{
    		var theCanvas = document.getElementById('canvas')
    		var context = theCanvas.getContext("2d")
    
    	}
    	drawScreen();
        function drawScreen(){
    		//颜色粉色,线宽10,
    	
    		
    		 
    		 context.beginPath();
    	         context.strokeStyle="red";
                     context.lineWidth=4;
    		 context.lineTo(100,200);
    		 context.arcTo(350,350,100,100,20);
    		 context.stroke();
    		 context.closePath();
    		 
    		 //以下为了给个直观的感觉,画的参考线
    		 context.beginPath();
    		 context.strokeStyle="#ddd";
    		 context.lineWidth=2;
    		 context.moveTo(0,350);
    		 context.lineTo(350,350);
    		 context.stroke();
    		 context.closePath();
    		  
    		 context.beginPath();
    		 context.moveTo(350,0);
    		 context.lineTo(350,350);
    		 context.stroke();
    		 context.closePath();
    		 
    		 context.beginPath();
    		 context.moveTo(100,0);
    		 context.lineTo(100,100);
    		 context.stroke();
    		 context.closePath();
    		 
    		 
    		 context.beginPath();
    		 context.moveTo(0,100);
    		 context.lineTo(100,100);
    		 context.stroke();
    		 context.closePath();
    		 
    		 
    		 context.beginPath();
    		 context.moveTo(350,350);
    		 context.lineTo(100,200);
    		 context.stroke();
    		 context.closePath();
    		 
    		 
    		 context.beginPath();
    		 context.moveTo(100,100);
    		 context.lineTo(350,350);
    		 context.stroke();
    		 context.closePath();
       }
    }
    
    
    </script>
    <canvas id="canvas" width="500" height="500">
    你的浏览器无法使用canvas
    如有疑问加QQ:1035417613;小白童鞋;你的支持是我最大的快乐!!
    </canvas>
    </body>
    </html>
    

     context.arcTo(350,350,100,100,20);

     x1,y1,x2,y2,radius

     首先需要有个路径context.lineTo(100,200);

    然后从创建一个小弧线

    然后这个过程比较复杂加蛋疼!!!

    大概的意思是(x1,y1)到(x2,y2)的路径相切

    看着这个图大概能理解了

  • 相关阅读:
    《Metasploit 渗透测试魔鬼训练营》 攻击机无法攻击靶机
    Ubuntu 解压 RAR
    verilog实验2:基于FPGA的59秒计时器设计
    verilog实验1:基于FPGA蜂鸣器演奏乐曲并数码管显示
    Java基础之反射和动态代理
    Redis初探
    Rest(表述性状态转移)
    深入理解MVC模式
    @Controller和@RestController的区别
    solrconfig.xml和schema.xml说明
  • 原文地址:https://www.cnblogs.com/LoveOrHate/p/4389643.html
Copyright © 2011-2022 走看看