x,y为svg对象点的坐标,offset_x,offset_y为偏移坐标,scale为缩放倍数。
保证svg对象绕着它的中心旋转缩放平移且不会发生偏差。
let tx = x-offset_x*mapRate;
let ty = y-offset_y*mapRate;
let translateX = -offset_x*mapRate*scale+(1-scale)*x;
let translateY = -offset_y*mapRate*scale+(1-scale)*y;
"rotate(" + angle + ", " + (tx)+ " " + (ty)+ ") " +"translate("+translateX+","+translateY+")"+ "scale("+scale+") ";
网友评论