function getCoords(evt) {
// 计算出当前屏幕与svg的比例
var canvas = document.getElementById("canvase");
var viewbox = svgRoot.getAttributeNS(null, "viewBox"); //获取ViewBox属性
var params = viewbox.split(" ");
// 屏幕和svg的比例 这是初始化比例
var roteX = svgRoot.clientWidth / parseFloat(params[2]) ;
var roteY = svgRoot.clientHeight / parseFloat(params[3]) ;
// 用户点击的svg原始坐标,当成屏幕坐标
userCoord.x = evt.layerX;
userCoord.y = evt.layerY;
console.log(svgRoot)
// 如果平移
var tx = parseFloat(params[0]),
ty = parseFloat(params[1]);
// 如果缩放
// var x_scale = 1 / roteX,
// y_scale = 1 / roteY;
// svg坐标
mouseCoord.x = (userCoord.x/roteX+tx)
mouseCoord.y = (userCoord.y/roteY+ty)
}
内容来源于网络如有侵权请私信删除