function getCoords(evt) { // 計算出當前屏幕與svg的比例 var canvas = document.getElementById("canvase"); var viewbox = svgRoot.getAttributeNS(null, "viewBox"); // ...
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)
}