把svg中的path标签里小写c转成大写C有什么规律?
还是和其他属性一样加上初始点就好了吗?
let new_path = '',i=0,j=0,n=0;
$.each(path_str_other,function(index){
if(path_str_other[index] === 'M' || path_str_other[index] === 'L'){
path_arr_x[i] = path_arr[n];
path_arr_y[j] = path_arr[n];
i++;
j++;
n+=2;
}else if(path_str_other[index] === 'H'){
path_arr_x[i] = path_arr[n];
path_arr_y[j] = path_arr_y[j-1];
i++;
j++;
n++;
}else if(path_str_other[index] === 'V'){
path_arr_x[i] = path_arr_x[i-1];
path_arr_y[j] = path_arr[n];
i++;
j++;
n++;
}else if(path_str_other[index] === 'C'){
path_arr_x[i] = path_arr[n];
path_arr_y[j] = path_arr[n];
path_arr_x[i+1] = path_arr[n+1];
path_arr_y[j+1] = path_arr[n+1];
path_arr_x[i+2] = path_arr[n+2];
path_arr_y[j+2] = path_arr[n+2];
i+=3;
j+=3;
n+=3;
}else if(path_str_other[index] === 'l'){
path_arr_x[i] = path_arr_x[i-1] + path_arr[n];
path_arr_y[j] = path_arr_y[j-1] + path_arr[n+2];
i++;
j++;
n+=2;
}else if(path_str_other[index] === 'h'){
path_arr_x[i] = path_arr_x[i-1] + path_arr[n];
path_arr_y[j] = path_arr_y[j-1];
i++;
j++;
n++;
}else if(path_str_other[index] === 'v'){
path_arr_x[i] = path_arr_x[i-1];
path_arr_y[j] = path_arr_y[j-1] + path_arr[n];
i++;
j++;
n++;
}
以上是我写的各种path组合转绝对路径的M+L+Z组合的方法。其中path_str_other为提取出来的符号,通过遍历他们改变其中的相对/绝对值,path_arr_x为存放新的path各点的x坐标的数组,path_arr_y同理,不知道对不对,求这方面的大神指教。