Ich möchte das gleiche Verhalten wie seen here für ein Rechteck für einen Kreis haben. Also möchte ich zum Beispiel einen halben Kreis zeichnen und den zwischen den beiden Linien eingekapselten Bereich dynamisch füllen.Verhalten wie fillRect mit Bogen
Es könnte wie folgt aussehen waren die grüne Farbe dynamisch basierend auf einigen Aktionen gefüllt werden soll:
So würde ich das einstellen zu können, wie nur die Hälfte der Höhe dieses halfcirlce ist gefüllt mit Farbe, dann 70% etc ... wie eine Fortschrittsleiste zum Beispiel.
Ich habe versucht, es wie folgt aus:
ctx.beginPath();
ctx.arc(centerCoordinate.x, centerCoordinate.y, circleRadius, 0, Math.PI, false);
var cirlceEndpoint = getCircleEndPoint(centerCoordinate, Math.PI);
ctx.lineTo(cirlceEndpoint[0] + 20, cirlceEndpoint[1]);
ctx.moveTo(centerCoordinate.x + circleRadius, centerCoordinate.y);
ctx.arc(centerCoordinate.x, centerCoordinate.y, circleRadius - 20, 0, Math.PI, false);
ctx.moveTo(centerCoordinate.x + circleRadius, centerCoordinate.y);
ctx.closePath();
ctx.lineWidth = 2;
ctx.strokeStyle = "#000";
ctx.fillStyle = '#8ED6FF';
ctx.fill();
ctx.stroke();
Aber damit das ganze Halbkreis gefüllt ist, und nicht nur der Bereich zwischen den Linien.
Wie könnte ich das tun?