有没有办法清除画布元素中的非矩形区域
Is there a way to clear a non-rectangular area in a canvas element?
使用javascript,我在画布上绘制了几个多边形图像。
我希望根据用户事件/点击,能够清除画布的一部分(其中一个多边形图像(,这是一个不规则的形状,而不是一个矩形。
所以,我不能使用 clearRect(( 来实现我的目的。
谁能想到我能做到这一点的方法?
从本质上讲,我想让我的画布的一部分透明,但它不是矩形...... 一旦我定义了一个可以填充((和stroke((的区域,我不能也清除((它... 我知道这样的功能不可用。 人们在做什么来清除不规则形状的部分?
我对此有点陌生,所以如果这听起来像是一个愚蠢的问题,请提前道歉。
使用 ctx.clip()
将当前描边定义为剪切区域。
见 https://developer.mozilla.org/en/Canvas_tutorial/Compositing
我还在 http://jsfiddle.net/alnitak/6ABp7/创建了一个演示
剪切路径是图形状态的一部分,因此您可以.save()
以前的状态、设置剪切、绘制更多内容,然后.restore()
原始状态。
相关文章:
- 如何在sap.m.Image元素上创建可点击区域
- 如何使用javascript在区域外单击时隐藏元素
- 将 HTML 表的 元素指定为“骨干.js木偶”中的区域
- 将伪元素添加到<文本区域>
- 将元素转换为可丢弃区域的要求是什么
- 查找面积最大的元素(主要内容区域)
- jQuery或Javascript可以更改文本区域中的元素
- 测试提线木偶布局视图中是否缺少区域元素
- 使用捕捉动画将SVG元素缩放到给定区域
- 在自动重影文本区域中打字时,会将焦点集中在元素的顶部
- 如何从数组中获取随机元素而不重复并将其放入文本区域
- 如何在 jQuery 克隆元素中找到文本区域的值
- 如何使两个或多个 html 元素在可编辑区域中表现为一个单元
- 使用 javascript vs jquery 将元素从一个区域移动到另一个区域
- 在 ReactJs 中的文本区域元素内创建一个编号列表
- 需要帮助弄清楚为什么我无法使用 Javascript 为我的代码游乐场获取某个文本区域元素的内容
- jQuery区域元素只添加了一次
- jQuery-向区域元素添加onHover处理程序
- JS / jQuery - 强制单击文本区域元素
- 在文本区域元素上使用onload