zoukankan      html  css  js  c++  java
  • 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)
        
      }

     
    好文要顶 关注我 
  • 相关阅读:
    Learn Goroutine
    Redis eviction policies
    Hungarian Algorithm
    Prime and Factors
    HDU 2642 Stars
    236. Lowest Common Ancestor of a Binary Tree
    Leetcode 96. Unique Binary Search Trees
    Search in Rotated Sorted Array
    ID Generator
    概率问题
  • 原文地址:https://www.cnblogs.com/ZXH-null/p/12182708.html
Copyright © 2011-2022 走看看