Javascript 使用路径弧'A'命令绘制椭圆
我在下面写了使用路径弧命令生成椭圆。但我使用的是Javascript 使用路径弧'A'命令绘制椭圆,javascript,svg,Javascript,Svg,我在下面写了使用路径弧命令生成椭圆。但我使用的是aarc命令。我想切换到命令。因为它取决于相对位置(根据评论,假设是错误的) 我尝试给出直径值,但它生成的是随机形状。请帮我换一下 函数getEclipsePath(开始、结束){ var rx=(结束点x-开始点x)*0.5; var ry=(end.y-start.y)*0.5; var d=rx*2; 返回“M”+start.x++(start.y+ry)+“a”+rx+++ry++“0 1 1”+d++“0 a”+rx++“+ry++”0
a
arc命令。我想切换到命令。因为它取决于相对位置(根据评论,假设是错误的)
我尝试给出直径值,但它生成的是随机形状。请帮我换一下
函数getEclipsePath(开始、结束){
var rx=(结束点x-开始点x)*0.5;
var ry=(end.y-start.y)*0.5;
var d=rx*2;
返回“M”+start.x++(start.y+ry)+“a”+rx+++ry++“0 1 1”+d++“0 a”+rx++“+ry++”0 1 1++-d++“0 z”;
}
var-str=getEclipsePath(100,100,70,50);
var test=document.getElementById('test');
var点;
document.addEventListener('mousedown',函数(事件){
点={
x:event.clientX,
y:event.clientY
}
});
document.addEventListener('mousemove',函数(事件){
变量目标={
x:event.clientX,
y:event.clientY
}
如果(点){
var str=getEclipsePath(点、目标);
document.getElementById('test').setAttribute('d',str);
}
});
document.addEventListener('mouseup',函数(事件){
点=空;
});代码>
body,
html{
身高:100%;
宽度:100%;
保证金:0;
填充:0
}
svg{
身高:100%;
宽度:100%
}
你的问题没有真正意义,通过M的弧的初始位置是绝对的,a值是相对的(然后是相互的)。@RobertLongson我同意你的观点。也许我的假设是错误的,但我的问题是如何在这里使用A
命令而不是A