有谁知道在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. 用图像填充Tkinter画布元素
- 3. 使用填充动画svg
- 4. 逐渐改变使用变换在SVG中填充SVG元素
- 5. 使用CSS来动画填充SVG路径元素
- 6. 不同笔画宽度的SVG填充规则切割
- 7. 使用javascript的SVG填充动画
- 8. 使用css动画svg路径填充
- 9. 拉伸图形以在JavaScript中填充画布元素
- 10. 使用javascript更改svg中所有元素的填充
- 11. SVG:填充弧形动画?
- 12. 如何用jQuery svg动画现有的SVG元素?
- 13. Chart.js填充画布
- 14. 如何填充画布像素?
- 15. 一个像素填充,与画布
- 16. bootstrap,在元素中填充
- 17. SVG填充动画循环中断
- 18. LaTeX \规则填充行
- 19. 用velocity.js动画SVG元素
- 20. 如何动画填充html元素
- 21. 使用DataRow元素在MVC 4中填充SELECT元素
- 22. 需要设置Angular2画布以填充父元素
- 23. EVENODD填补一组形状
- 24. 使用Javascript和JQuery动画svg元素
- 25. 使用JQuery动画旋转SVG元素
- 26. 动态在画布中填充颜色
- 27. 编辑布局以在元素之间使用垂直规则。
- 28. 的MediaElement在画布犯规STRECH来填充
- 29. 在svg组中渲染文本元素
- 30. 在条件格式化规则中使用单元格的填充颜色
这工作,如果你正在绘制一个以上的形状。但是,如果你正在绘制一条路径,它不会。任何其他想法? – devongovett 2009-11-09 03:10:38
复合!=填充。他们是不同的概念。全局复合操作设置不应该对填充规则有任何影响 – jwfearn 2011-03-17 18:38:39