简短的问题:使用SVG路径,我们可以绘制99.99%的圆并显示出来,但是当它是99.99999999%的圆时,则该圆不会显示。如何解决?

以下SVG路径可以绘制99.99%的圆:(在http://jsfiddle.net/DFhUF/1381/上尝试一下,看看是否看到4个圆弧或只有2个圆弧,但是请注意,如果是IE,则以VML而不是SVG呈现,但是具有类似的问题)

M 100 100 a 50 50 0 1 0 0.00001 0


但是当它是一个圆的99.99999999%时,什么都不会显示吗?

M 100 100 a 50 50 0 1 0 0.00000001 0


这与100%的圆相同(它仍然是弧,不是,只是一个非常完整的弧)

M 100 100 a 50 50 0 1 0 0 0


如何解决?原因是我使用一个函数绘制一定百分比的圆弧,并且如果我需要特殊情况下使用圆形函数绘制99.9999%或100%的圆弧,那将是很愚蠢的。

同样,使用RaphaelJS在jsfiddle上的测试用例位于http://jsfiddle.net/DFhUF/1381/
(如果它是IE 8上的VML,即使第二个圆圈也不会显示...您必须将其更改为0.01)



更新:

这是因为我在系统中为得分绘制了圆弧,所以3.3分得到了一个圆的1/3。 0.5分半圈,而9.9分分99%。但是,如果我们系统中的分数为9.99,该怎么办?我是否必须检查它是否接近圆的99.999%,并相应地使用arc函数或circle函数?那分数9.9987呢?使用哪一个?需要知道什么样的分数会映射到“太完整的圆圈”并切换到圆圈函数,这是荒谬的,当它是圆圈的“某个99.9%”或9.9987分数时,则使用圆弧函数。

最佳答案

与XAML的弧相同。只需用Z闭合99.99%的弧线,您就会有一个圆圈!

关于svg - 带有SVG弧形路径的圆图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46602244/

10-10 15:00