如何为 HTML5 Canvas 设置自定义剪切区域?
我需要在一个减去一个圆的矩形上绘制。如果无法进行圆形裁剪,则多边形裁剪区域可能足以满足我的需要。
如何为 HTML5 Canvas 设置自定义剪切区域?
I need to draw on a rectangle minus a circle. If the circle clipping is not possible, a polygonal clipping zone could be enough for my need.
How do I set a custom clipping zone for HTML5 Canvas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您应该阅读 Canvas 教程中的合成 ,它解释了如何绘制一个减去一个圆的矩形和类似的图形。
我认为您正在寻找
destination-out
:查看其实际操作jsFiddle。
You should read Compositing in the Canvas tutorial, it explains how you draw a rectangle minus a circle and similar figures.
I think you are looking for
destination-out
:See it in action on jsFiddle.
您也可以使用“剪辑”和“清除”。类似这样的事情:
但是抗锯齿不是这样工作的;
Also you can use "clip" and than - "clear". Something like that:
But antialiasing dont work in such way;
出色地。
这很难。
我发现绘制除圆圈之外的所有位置的最佳解决方案是
我不敢相信没有更好的解决方案。但它可以满足我的需要。
Well.
It was hard.
The best solution I found to draw every where except in a circle is
I can't believe taht there is not a better solution. But it's works for my need.