【发布时间】:2020-07-12 07:07:06
【问题描述】:
我正在 javascript 画布上绘制一个实心椭圆(使用 arc()):
ctx.arc(centerX, centerY, dotDiameter / 2, 0, 2 * Math.PI, false);
ctx.fillStyle = color1;
ctx.fill();
然后我想用不同的颜色画一条线,剪裁到这个椭圆上。
ctx.clip(); // Clip to the ellipse
ctx.strokeStyle = color2;
ctx.moveTo(centerX - dotRadius, centerY);
ctx.lineTo(centerX + dotRadius, centerY);
ctx.stroke();
不过,椭圆也是用 color2 描边的。
如何将线条剪裁到我的椭圆上,但又不画出椭圆?有没有办法在我调用 clip() 后从画布上删除椭圆(又名弧线)?
谢谢!
(仅供参考,这是对我的代码的过度简化。描边的线条比单个水平线更复杂,并且确实需要修剪线条。)
【问题讨论】:
-
a
ctx.arc(不会画椭圆 -
@HelderSepulveda:请参阅developer.mozilla.org/en-US/docs/Web/API/…,了解使用 arc() 绘制圆(和圆的一部分)。
-
嗨史蒂夫,是的,但你说的是椭圆......弧不会做椭圆
标签: javascript canvas clipping