使用SVG的弧形路径绘制圆形图

简短的问题:使用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分数时,则使用弧函数。


噜噜哒
浏览 1310回答 3
3回答

拉风的咖菲猫

XAML的弧也一样。用a关闭99.99%的弧度,Z你就得到了一个圆圈!
打开App,查看更多内容
随时随地看视频慕课网APP