canvas isPointInPath
2015-08-22 17:05
183 查看
由于isPointInPath方法仅判断当前上下文环境中的路径,所以当Canvas里已经绘制了多个图形时,仅能以最后一个图形的上下文环境来判断事件。例如,如果我们最后画的是右腿,那么我们只能判断是否点击了右腿,而不能判断身体的其他部分——右腿最后画。 这种问题的解决方法是:当点击事件发生时,重绘所有图形,每绘制一个就使用isPointInPath方法,判断事件坐标是否在该图形覆盖范围内。
bezierCurveTo 支持的
Lineto 部分浏览器 支持 部分浏览器 不支持
也就是说你不能画了10条路径后突然跑去判断点是不是在第1条路径之中.
为什么要这样呢?因为canvas中路径是不能保存的,不能像一个变量那样保留起来供后面再用.这样一来你想要重现这个路径的话,惟一的办法就是:按照之前的值,之前的函数,重新画一遍.
isPointInPath只对当前路径有效!测试了这两个fillRect()和strokeRect()方法不支持
bezierCurveTo 支持的Lineto 部分浏览器 支持 部分浏览器 不支持
也就是说你不能画了10条路径后突然跑去判断点是不是在第1条路径之中.
为什么要这样呢?因为canvas中路径是不能保存的,不能像一个变量那样保留起来供后面再用.这样一来你想要重现这个路径的话,惟一的办法就是:按照之前的值,之前的函数,重新画一遍.
相关文章推荐
- POJ 3070 Fibonacci
- 机器学习—— 基于朴素贝叶斯分类算法构建文本分类器的Python实现
- Java中的乱码问题
- c++Map容器 详解
- poj 2406 Power Strings【字符串+最小循环节的个数】
- Android学习笔记(四十八):注册注销登录MVC模式案例
- 关于HashSet、TreeSet、LinkedHashSet的区别
- 例说linux内核与应用数据通信(二):proc虚拟文件系统
- LeetCode2.1.20(Set Matrix Zeroes)
- 正则表达式——速查表(挖坑,本文内容来自网络)
- linux线程及互斥锁
- ATAN2 函數(几何中运用反正切值确定线段方位)
- PAT训练(4)
- vim编辑器简单使用(2)
- URAL 1989 Subpalindromes(线段树单点修改+字符串hash)
- 移动web之响应式布局
- ubuntu 14.04 安装配置使用搜狗拼音输入法
- C语言数组指针指针数组
- VirtualBox更改虚拟机磁盘VDI的大小
- c# 函数