Javascript SVG.js线条标记mid
我试图将标记mid放在line元素上,我使用SVG.js。例如,我使用以下代码:Javascript SVG.js线条标记mid,javascript,svg,svg.js,Javascript,Svg,Svg.js,我试图将标记mid放在line元素上,我使用SVG.js。例如,我使用以下代码: var draw = SVG('yourdivid'); var line = draw.line( 100, 100, 0, 0).move(20, 20); line.stroke({ color: '#000', width: 2}; 现在,我如何使用marker mid将marker放置在这条线的中间? 我读了svg.js的文档,还有这个“ 他们说你也可以使用marker mid元素和line,我知道这
var draw = SVG('yourdivid');
var line = draw.line( 100, 100, 0, 0).move(20, 20);
line.stroke({ color: '#000', width: 2};
现在,我如何使用marker mid将marker放置在这条线的中间?
我读了svg.js的文档,还有这个“
他们说你也可以使用marker mid元素和line,我知道这个marker和path元素一起工作,但是我需要用一条line,你能帮我吗?
谢谢您的帮助您可以自己算出直线的中点,然后在该点上画一个圆
var start = [100, 100];
var end = [0, 0];
function midPoint(start, end) {
return [
(start[0] + end[0]) / 2,
(start[1] + end[1]) / 2
];
}
var lineGroup = svg.group();
lineGroup.line(start[0][0], start[0][1], end[0][0], end[0][1]);
var dot = lineGroup.circle(3);
var mid = midPoint(start, end);
dot.cx(mid[0]);
dot.cy(mid[1]);
标记mid
在行上不起作用。要有开始和结束标记,此代码将执行以下操作:
var draw = SVG('yourdivid');
draw.line( 100, 100, 0, 0)
.move(20, 20)
.stroke({ color: '#000', width: 2})
.marker('start', 10, 10, function(add){
add.circle(10).center(5,5)
})
但是,要在一条线的中间有标记,请参见p0wdr.com的答案那里没有中间,一条线有一个起点,只有一个终点“中间”指的是多段路径的中点。第二到第二到最后一分。由于
只有起点和终点,因此没有可放置标记的中点。谢谢您的回答,我如何解决此问题?因为我使用svg.draw.js来画线,然后我需要在上面画一个中间标记,还有其他方法吗?@Paul LeBeau在上面的评论中写道;'“中点”是指多段路径的中点。。。由于a只有起点和终点,因此没有可放置标记的中点'