Domanda

Sembra che qualcuno abbia menzionato questo bug ai forum di Chromium, ma non c'è risoluzione, quindi mi chiedo se qualcuno conosce semplicemente una soluzione alternativa.

Il problema sta cercando di rendere un semicerchio in senso antiorario in Chrome, usando l'elemento tela. Invece questo rende un cerchio completo:

var ctx = document.getElementById('can').getContext('2d');
ctx.beginPath();
ctx.arc(50,50,50,0,Math.PI*3,true);
ctx.fill();
ctx.closePath();

Ecco un violino, vista in non cromo, quindi in Chrome: violino

È stato utile?

Soluzione

Il bug probabilmente deriva da questa parte delle specifiche:

Se l'argomento in senso antiorario viene omesso o falso e il margine di partenza è uguale o maggiore di 2π, o, se l'argomento in senso antiorario è vero e l'ending-endangole è uguale o maggiore di 2π, allora l'arco è l'intera circonferenza di questo cerchio .

Chrome non sembra rispettare la seconda parte di tale affermazione (cioè quando anticlockwise è true).

Perché non normalizzare il tuo punto finale?

var end = 3 * Math.PI;
while (end > 2 * Math.PI) {
    end -= 2 * Math.PI;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top