Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVG:Path:Moveto(M)是相对于原点的,而不是相对于网格的绝对值_Svg_Path_Absolute - Fatal编程技术网

SVG:Path:Moveto(M)是相对于原点的,而不是相对于网格的绝对值

SVG:Path:Moveto(M)是相对于原点的,而不是相对于网格的绝对值,svg,path,absolute,Svg,Path,Absolute,我有个大问题 让我们说: viewbox=“0 50” 现在的问题是: 问题是:M是大写的,所以我不知道为什么它不起作用 它不是在Viewbox中移动到-10,-10,而是移动到15,15等于(25-10),(25-10) 我完全不知道我在这里该做什么。。。我只希望圆圈从-10-10开始(在我的项目中,在viewbox之外的任何地方),然后在25,25结束,并保持在那里 起始位置是用random_int生成的,我生成了一堆圆 如何实现Moveto(M)采用绝对坐标而不是相对坐标?已解决: &

我有个大问题

让我们说:

viewbox=“0 50”


现在的问题是:

问题是:M是大写的,所以我不知道为什么它不起作用

它不是在Viewbox中移动到-10,-10,而是移动到15,15等于(25-10),(25-10)

我完全不知道我在这里该做什么。。。我只希望圆圈从-10-10开始(在我的项目中,在viewbox之外的任何地方),然后在25,25结束,并保持在那里

起始位置是用random_int生成的,我生成了一堆圆

如何实现Moveto(M)采用绝对坐标而不是相对坐标?

已解决:

<circle id="circle3_1" r="10" opacity="1" fill="#FF0000">
    <animateMotion
        dur="5"
        path="MStartX StartY C -101 -1010,-195 141, FinalX FinalY"
        fill="freeze"/>
</circle>


可能将cx和cy设置为0。animateMotion中的路径表示一组变换&因此是到正在设置动画的元素位置的偏移量。您不能将其设置为绝对点(您可以使用Javascript来实现)。解决了它。。。我只是不给它任何位置,在第一个动画后重复制作一个999小时的动画,并将其移动到最终位置。难道你不想在第一个动画中使用fill=“freeze”,然后删除第二个动画。fill=“freeze”?以前从未听说过这会使.svg的大小减小30%左右
<circle id="circle3_1" r="10" opacity="1" fill="#FF0000">
    <animateMotion
        dur="5"
        path="MStartX StartY C -101 -1010,-195 141, FinalX FinalY"
        fill="freeze"/>
</circle>