有谁知道在HTML5 canvas元素中是否可以使用JavaScript本地或数学方式实现evenodd
fill-rule
?链接到这样做的项目将会有所帮助。在画布元素中使用SVG evenodd填充规则
4
A
回答
0
是的,应该可以用globalCompositeOperation
。如果我没有弄错,默认的“source-over”值应该与SVG的“evenodd”相对应(否则,请尝试更少的人看看最终的图像是否相同)。
0
通过数学表达算法的实现吗?这当然是可能的,见http://gpolo.awardspace.info/fill/main.html。它比任何东西都更像是一个演示,但它可以“数学地”解决这个问题。
0
我问自己同样的问题,并碰到this Mozilla Bugreport。
似乎它得到由bugreporters提出了WHATWG(帆布规格):
克里斯·琼斯2011-06-10:
让我们等待,直到文档这个天赋是寻找固体上whatwg(我今天会发布)。
0
这是一个非常古老的问题,这样的事情一定是在不同的时间,但因为很久以前,你可以传递一个fillrule
参数的fill()
方法。 此fillrule
可以是"nonzero"
,默认值,或"evenodd"
。
var ctx = c.getContext('2d');
drawPath();
ctx.fill();
ctx.translate(70, 0);
drawPath();
ctx.fill('evenodd');
ctx.translate(70, 0);
drawPath();
ctx.stroke();
function drawPath(){
ctx.beginPath();
ctx.arc(30,30,20,0,Math.PI*2);
ctx.lineTo(60,60);
ctx.lineTo(0,0);
ctx.closePath();
}
<canvas id="c"></canvas>
相关问题
- 1. 如何填写规则=“EVENODD”星空SVG工作
- 2. 使用填充动画svg
- 3. 使用CSS来动画填充SVG路径元素
- 4. 不同笔画宽度的SVG填充规则切割
- 5. 拉伸图形以在JavaScript中填充画布元素
- 6. SVG:填充弧形动画?
- 7. Chart.js填充画布
- 8. 如何填充画布像素?
- 9. SVG填充动画循环中断
- 10. LaTeX \规则填充行
- 11. 使用DataRow元素在MVC 4中填充SELECT元素
- 12. 需要设置Angular2画布以填充父元素
- 13. 使用JQuery动画旋转SVG元素
- 14. EVENODD填补一组形状
- 15. 的MediaElement在画布犯规STRECH来填充
- 16. 在条件格式化规则中使用单元格的填充颜色
- 17. SVG与Canvg画布 - 线填充和背景线下降?
- 18. svg填充路径动画问题
- 19. SVG动画。绘制后填充路径
- 20. 动画后SVG填充颜色淡出
- 21. svg填充动画在firefox中不起作用
- 22. SVG动画G元素
- 23. jQuery的SVG动画元素
- 24. 如何使用捕捉为SVG中的整个元素组填充颜色
- 25. 使元素填充可用高度
- 26. 使用填充缩小元素
- 27. 使用'select'元素选项填充$ form_input?
- 28. 使用simple_form预填充嵌套元素
- 29. 使用动态html填充元素
- 30. 使用数组元素填充GridBagLayout
这工作,如果你正在绘制一个以上的形状。但是,如果你正在绘制一条路径,它不会。任何其他想法? – devongovett 2009-11-09 03:10:38
复合!=填充。他们是不同的概念。全局复合操作设置不应该对填充规则有任何影响 – jwfearn 2011-03-17 18:38:39