浏览器渲染时,SVG中的箭头不会旋转
我创建了一个SVG文件,在inkscape中看起来像这样:
但是当我通过浏览器渲染它时,箭头会被搞乱:
这(上面)是实际的svg(链接),如果它在你的浏览器中正确呈现,这里是我如何看到它(这次它是一个PNG截图):
最新的Firefox和Chrome也一样。
这个文件是在Windows的inkscape 0.48中创建的,当我在inkscape中重新打开它时,它正确呈现。 有没有办法让浏览器旋转箭头?
Chrome,Firefox,Inkscape和Wikimedia都有这方面的bug报告。 事实证明,只有一个手柄(曲线开头的那个手柄)的长度为零时,某些渲染器会使箭头方向错误。 目前,Firefox,Inkscape和LibreOffice Write写得对,而Chrome则错了。
要创建这样一条线的示例,请在Inkscape中绘制一条线,然后添加一个弯曲的中点。 Inkscape然后使两段贝塞尔曲线,但末端段具有零长度句柄。 如果您然后删除中点,Inkscape将尝试匹配曲线,并为端点创建非零长度的句柄。
在2015年报告为Firefox中的错误,并进行修复
在2015年被报告为Chrome中的错误,并且没有修复
在2006年被报告为Inkscape中的错误,归咎于用户,并在2009年关闭为“过时”
在2015年被维基媒体报道为我的错误
讨论SVG规范中的歧义
我在Inkscape中注意到的一个修复方法是首先选择“按节点编辑路径”选项,然后选择每个端点并从路径编辑工具栏中选择“使所选节点平滑”的选项。
我找到了解决方案:
问题在于,对于这些线条,使用了贝塞尔曲线,即使线条是笔直的,也会造成问题。 一旦我用“图表连接器”替换曲线,问题就消失了。
链接地址: http://www.djcxy.com/p/56949.html