内容简介:翻译自:https://stackoverflow.com/questions/34332615/getting-rid-of-aliasing-on-a-svg-circular-element
我正在制作动画SVG饼图.基本上我有两个SVG元素,第一个获得50%的边界半径,第二个是我填充到特定值的圆.最后,这使得一个圆圈位于另一个圆圈之上,它们都具有相同的尺寸.
有一种似乎很难摆脱的SVG别名.它在圆圈的顶部,左侧,底部和右侧“角落”非常明显,至少在Google Chrome上是如此.
这是 HTML 部分
<figure id="pie" data-percentage="60"> <div class="receiver"></div> <svg width="200" height="200" class="chart" shape-rendering="geometricPrecision"> <circle r="50" cx="100" cy="100" class="pie" shape-rendering="geometricPrecision"/> </svg> </figure>
这是我的 codepen ,可以更准确地描述问题.我尝试了各种解决方案,包括形状渲染SVG属性但无济于事.
这是一个截图,别名不像在codepen中那样可见(至少对我来说)
全svg百分比圈
我之前也遇到过这个问题: Pixel edge on circle
当您使用border-radius修改元素时会发生这种情况.
您可以在上面的链接答案中找到答案,
但我觉得如果你只使用/修改svg,它的性能和美学效果都会更好.
例:
var circ = document.getElementsByClassName("pie2"); var text = document.getElementsByClassName("text"); text = text[0]; circ = circ[0]; var maxvalue = 320; var value = maxvalue; var stop = false; function increase() { if (value > 0) { circ.style.strokeDashoffset = value--; text.textContent = Math.abs(Math.floor((value / maxvalue) * 100) - 100) + "%"; } else { clearInterval(intervalid); } } var intervalid = setInterval(increase, 25);
.pie { fill: none; stroke: #222; stroke-width: 99; } .pie2 { fill: none; stroke: orange; stroke-width: 100; stroke-dasharray: 320; stroke-dashoffset: 320; } .text { font-family: Arial; font-weight: bold; font-size: 2em; }
<figure id="pie" data-percentage="90"> <svg width="200" height="200" class="chart" shape-rendering="geometricPrecision"> <circle r="50" cx="100" cy="100" class="pie" shape-rendering="geometricPrecision" /> <circle r="50" cx="100" cy="100" class="pie2" /> <text class="text" x="80" y="110">0%</text> </svg> </figure>
翻译自:https://stackoverflow.com/questions/34332615/getting-rid-of-aliasing-on-a-svg-circular-element
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 如何摆脱 “技术思维” 的惯性?
- matlab – 摆脱图中的“图1”
- 摆脱redux繁琐操作,搭建mobx框架
- Git命令别名设置
- mybatis的typeAliases别名
- Azure中继摆脱了WCF的桎梏,走向跨平台
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大象无形:虚幻引擎程序设计浅析
罗丁力、张三 / 电子工业出版社 / 2017-4 / 65
《大象无形:虚幻引擎程序设计浅析》以两位作者本人在使用虚幻引擎过程中的实际经历为参考,包括三大部分:使用C++语言进行游戏性编程、了解虚幻引擎本身底层结构与渲染结构、编写插件扩展虚幻引擎。提供了不同于官方文档内容的虚幻引擎相关细节和有效实践。有助于读者一窥虚幻引擎本身设计的精妙之处,并能学习到定制虚幻引擎所需的基础知识,实现对其的按需定制。 《大象无形:虚幻引擎程序设计浅析》适合初步了解虚幻......一起来看看 《大象无形:虚幻引擎程序设计浅析》 这本书的介绍吧!