svg 放大縮小后的比例


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)
    
  }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM