zoukankan      html  css  js  c++  java
  • canvas-a10isPointPath.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <canvas id="canvas" style="margin:0 auto;border:1px #ddd solid">
            The current browser does not support Canvas, can replace the browser a try!
        </canvas>
    
        <script>
            var canvas = document.getElementById('canvas');
            var context = canvas.getContext('2d');
            var balls = [];
    
            window.onload = function(){
                // var canvas = document.getElementById('canvas');
    
                canvas.width = 1024;
                canvas.height = 768;
    
                if(canvas.getContext('2d')){
                    // var context = canvas.getContext('2d');
    
                    for(var i=0;i<10;i++){
                        var aBall = {
                            x : Math.random()*canvas.width,
                            y : Math.random()*canvas.height,
                            r : Math.random()*50+20
                        };
                        balls[i] = aBall;
                    }
    
                    draw();
                    canvas.addEventListener("mouseup",detect);
    
                }else{
                    alert('当前游览器不支持Canvas,请更换游览器后再试!');
                }
            }
    
    
            function draw(){
                for(var i = 0;i<balls.length;i++){
                    context.beginPath();
                        context.arc(balls[i].x,balls[i].y,balls[i].r,0,Math.PI*2);
                    context.fillStyle = "#058";
                    context.fill();
                }
            }
    
            function detect(event){
                var x = event.clientX - canvas.getBoundingClientRect().left;
                var y = event.clientY - canvas.getBoundingClientRect().top;
    
                for(var i=0;i<balls.length;i++){
                    context.beginPath();
                    context.arc(balls[i].x,balls[i].y,balls[i].r,0,Math.PI*2);
    
                    if(context.isPointInPath(x,y)){
                        context.fillStyle = "red";
                        context.fill();
                    }
                }
            }
    
        </script>
    </body>
    <script>
        /*总结
            
            //判断事件是不是在canvas内
            context.isPointInPath(x,y)
    
        */
    </script>
    </html>
  • 相关阅读:
    AjaxHelper使用范例
    IE浏览器的条件编译指令和微软的ajax实现
    基于AjaxHelper0.41的相册范例程序演示及一个关于博客园的功能建议
    AjaxHelper 0.41
    .Net环境下基于Ajax的MVC方案
    Msys/MinGW与Cygwin/gcc[转]
    常见应用程序的架构
    perl正则表达式[转]
    [CruiseControl] 概念
    MinGW
  • 原文地址:https://www.cnblogs.com/cynthia-wuqian/p/4989153.html
Copyright © 2011-2022 走看看