Question courte: en utilisant le chemin SVG, nous pouvons dessiner 99,99% d'un cercle et cela apparaît, mais quand il s'agit de 99,99999999% d'un cercle, le cercle n'apparaîtra pas. Comment y remédier?
Le chemin SVG suivant peut dessiner 99,99% d'un cercle: (essayez-le sur http://jsfiddle.net/DFhUF/1381/ et voyez si vous voyez 4 arcs ou seulement 2 arcs, mais notez que si c'est IE, c'est rendu en VML, pas SVG, mais ont le même problème)
M 100 100 a 50 50 0 1 0 0.00001 0
Mais quand il s'agit de 99,99999999% d'un cercle, alors rien ne s'affiche du tout?
M 100 100 a 50 50 0 1 0 0.00000001 0
Et c'est pareil avec 100% d'un cercle (c'est toujours un arc, n'est-ce pas, juste un arc très complet)
M 100 100 a 50 50 0 1 0 0 0
Comment cela peut-il être réglé? La raison en est que j'utilise une fonction pour dessiner un pourcentage d'un arc, et si j'ai besoin d'un "cas particulier" un arc de 99,9999% ou 100% pour utiliser la fonction de cercle, ce serait un peu idiot.
Encore une fois, un cas de test sur jsfiddle utilisant RaphaelJS est à http://jsfiddle.net/DFhUF/1381/
(et s'il s'agit de VML sur IE 8, même le deuxième cercle ne s'affiche pas ... vous devez le changer en 0,01)
Mettre à jour:
C'est parce que je suis en train de rendre un arc pour un score dans notre système, donc 3,3 points donnent 1/3 d'un cercle. 0,5 correspond à un demi-cercle et 9,9 points à 99% d'un cercle. Mais que faire s'il y a des scores de 9,99 dans notre système? Dois-je vérifier s'il est proche de 99,999% d'un cercle et utiliser une arc
fonction ou une circle
fonction en conséquence? Alors qu'en est-il d'un score de 9,9987? Lequel utiliser? Il est ridicule d'avoir besoin de savoir quel type de scores correspondra à un "cercle trop complet" et basculera vers une fonction de cercle, et quand il s'agit "d'un certain 99,9%" d'un cercle ou d'un score de 9,9987, alors utilisez la fonction arc .