[ javascript canvas isPointInPath(x,y) 判断点是否在最后绘制的图形中 ] javascript canvas isPointInPath(x,y) 判断点是否在最后绘制的图形中方法演示 效果之一

 1 <!DOCTYPE html>
 2 <html lang=‘zh-cn‘>
 3 <head>
 4 <title>Insert you title</title>
 5 <meta name=‘description‘ content=‘this is my page‘>
 6 <meta name=‘keywords‘ content=‘keyword1,keyword2,keyword3‘>
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 <link rel=‘stylesheet‘ type=‘text/css‘ href=‘./css/index.css‘ />
 9 <script type=‘text/javascript‘ src=‘./js/jquery-1.12.1.min.js‘></script>
10 <style type=‘text/css‘>
11 html,body,img,canvas {
12     margin: 0; padding: 0;
13 }
14
15 html {
16     height: 100%;
17 }
18
19 body {
20     background: #000;
21 }
22
23 #can {
24     background: #FFF; display: block; margin: 25px auto; border-radius: 2px;
25 }
26 </style>
27 <script type=‘text/javascript‘>
28     $( function(){
29         var can = $( ‘#can‘ ).get( 0 );
30         var oCan = can.getContext( ‘2d‘ );
31
32         oCan.beginPath();
33         oCan.fillStyle = getRandomColor();
34         oCan.rect( 20 , 50 , 100 , 100 );
35         oCan.fill();
36         oCan.closePath();
37
38         oCan.beginPath();/* 如果要想只点击最后绘制的图形有效果就使用开始路径和闭合路径包裹起来,如果要作用于整个画布在任何有图形地方点击有效果就只使用一个大的开始及闭合路径包裹起来既可以了 */
39         oCan.fillStyle = getRandomColor();
40         //oCan.fillRect(200 , 150 , 100 , 100);    /* 直接使用这种方式来使用oCan.isPointInPath(x,y)判断是无效的,无论点击哪里都是无效的 返回false */
41         oCan.rect( 200 , 150 , 100 , 100 );/* 要想使用 oCan.isPointInPath(x,y)来判断就必须结合使用 37 38 行间代码,否则无效 */
42         oCan.fill();
43         oCan.closePath();
44
45         can.onmousedown = function( ev ){
46             var ev = window.event || ev;
47             var clientX = ev.clientX - this.offsetLeft;
48             var clientY = ev.clientY - this.offsetTop;
49             if( oCan.isPointInPath( clientX , clientY ) == 1 /*用于判断在当前路径中是否包含检测点的方法,只检测我们最后绘制出来的图形*/
50                             || oCan.isPointInPath( clientX , clientY ) == true
51                             || oCan.isPointInPath() ){ /* 在不同的浏览器中对于布尔值的显示不同 推荐直接使用最后一种方式来进行判断,因为 这是JS中对于布尔值的判断机制 (非0的数值,非空字符串,true均被认为真的)*/
52                 alert( ‘点击的是在我们最后绘制的图形中...‘ );
53             }
54         };
55
56         function getRandomColor(){
57             var num = ‘0xFFFFFF‘;
58             var len = Math.ceil( Math.random() * parseInt( num , 16 ) ).toString( 16 );
59             if( length < 6 ){
60                 for( var i = 0 ; i < 6 - len.length ; i++ ){
61                     len += ‘0‘;
62                 }
63             }
64             return ‘#‘ + len;
65         }
66     } );
67 </script>
68 </head>
69 <body>
70     <canvas id=‘can‘ width=‘500‘ height=‘450‘>检测到您的浏览器版本过低,请升级您的浏览器,以获取更好的体验效果...</canvas>
71 </body>
72 </html>
时间: 2024-08-10 06:47:48

[ javascript canvas isPointInPath(x,y) 判断点是否在最后绘制的图形中 ] javascript canvas isPointInPath(x,y) 判断点是否在最后绘制的图形中方法演示 效果之一的相关文章

如何用javascript中的canvas让图片自己旋转

最近在写一个游戏,想让一个人物随着鼠标在原地旋转 在网上找了找,大都是用css写的,但是我为了长远的利益着想选择使用javascript代码中的canvas来解决绘图问题 其中重要的两个方法: context.translate(x,y) 用于重新设定画布的原点 参数是设定的原点坐标 context.rotate(角度*Math.PI/180) 让图片旋转, 参数是指旋转的弧度 如果要填入角度就像上面一样乘以 Math.PI/180 核心思路: 转载自:http://jingyan.baidu.

HTML5中的canvas基本概念及绘图

* Canvas(画布) * 基本内容 * 简单来说,HTML5提供的新元素<canvas> * Canvas在HTML页面提供画布的功能 * 在画布中绘制各种图形 * Canvas绘制的图形与HTML页面无关 * 无法通过DOM获取绘制的图形 * 无法为绘制的图形绑定DOM事件 * 只能使用Canvas提供的API * Canvas用途 * 在HTML页面中绘制图表(例如柱状图.饼状图等) * 网页游戏 - Flash技术 * 使用HTML5中的Canvas * 如何使用Canvas * 在

HTML5中的 Canvas

什么是Canvas? Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像.Canvas由一个可绘制地区HTML代码中的属性定义决定高度和宽度.JavaScript代码可以访问该地区,通过一套完整的绘图功能类似于其他通用二维的API,从而生成动态的图形. 我们可以用Canvas做以下: 1. 游戏:毫无疑问,游戏在HTML5领域具有举足轻重的地位.HTML5在基于Web的图像显示方面比Flash更加立体.更加精巧,运用Canvas制作的图像能够令HTML5游戏在流畅度和跨平台方面发挥

HTML5 中的 canvas 画布

---恢复内容开始--- 在HTML5中新添加的元素,canvas 现在支持 IE9+的版本 注意:HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. <canvas> 标签只是图形容器,您必须使用脚本来绘制图形. 在使用canvas之前应该给用户说明必须是ie9+的版本,否则不支持. 绘制简单的直线 1.先获取画布 var canvas = document.getElementById('canvas'); 2.配置绘制的环境 v

HTML5中的&lt;canvas&gt;画布:使用canvas元素在网页上绘制四分之一圆(3)

前几天自己做了个四分之一的圆,放到手机里面测试.效果不是很好.于是今天通过查资料,找到了canvas.自己研究了一天,发现可以使用canvas画圆.代码如下: 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 7 </head> 8 <body&g

第七讲:HTML5中的canvas两个小球全然弹性碰撞

<html> <head> <title>小球之间的碰撞(全然弹性碰撞)</title> <script src="../js/jscex.jscexRequire.min.js" type="text/javascript"></script> </head> <body> <canvas id="mc" width="1200px&

HTML5中的&lt;canvas&gt;画布:使用canvas元素在网页上绘制线条和圆(1)

什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. 创建 Canvas 元素 向 HTML5 页面添加 canvas 元素. 规定元素的 id.宽度和高度: 1 <canvas id="myCanvas" width="200" height="100"></ca

html5中在canvas上绘图

canvas是通过JavaScript控制的,而且其大小必须在绘制的时候就确定大小,不能再通过控制或改变canvas元素的大小 //html代码 <canvas id="my_canvas" width="150" height="150"> fallback content here </canvas> //js代码 //通过JavaScript查看浏览器是否支持canvas元素 var canvas=document.

Kettle中JavaScript内置函数说明

本文链接:https://blog.csdn.net/u010192145/article/details/102220563 我们在使用JavaScript组件的时候,在左侧核心树对象栏中可以看到Kettle为我们提供了很多简洁强大的内置函数,帮助我们在写脚本的时候对数据.参数变量等能很轻松的做处理,体验编码的感觉.本篇将详细介绍JavaScript组件中的函数功能 脚本组件包含的函数主要包括六大类,分别是: 字符串类型的函数(String Functions) 浮点型的函数(Numeric