我正在使用此函数在 HTML5 Canvas 中绘制一个椭圆(如何在 html5 画布中绘制一个椭圆?):
function drawEllipse(ctx, x, y, w, h) {
var kappa = .5522848,
ox = (w / 2) * kappa, // control point offset horizontal
oy = (h / 2) * kappa, // control point offset vertical
xe = x + w, // x-end
ye = y + h, // y-end
xm = x + w / 2, // x-middle
ym = y + h / 2; // y-middle
ctx.beginPath();
ctx.moveTo(x, ym);
ctx.bezierCurveTo(x, ym - oy, xm - ox, y, xm, y);
ctx.bezierCurveTo(xm + ox, y, xe, ym - oy, xe, ym);
ctx.bezierCurveTo(xe, ym + oy, xm + ox, ye, xm, ye);
ctx.bezierCurveTo(xm - ox, ye, x, ym + oy, x, ym);
ctx.closePath();
ctx.stroke();
}
然后,我得到所有这些值并将它们发送到我的 Android 应用程序。在那里,我正在使用 Path 类的cubicTo 方法绘制相同的椭圆。为此,我只使用上面函数的相同参数,它就像一个魅力。
但是现在,我只需要画出这个椭圆的一部分,而且我在谷歌上没有找到任何可以帮助我解决这个问题的东西。我想做的是,有这个第一个椭圆:
我希望能够绘制这些图像:
我怎么能做这种事情?