欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

svg 放大缩小后的比例

程序员文章站 2022-12-07 11:39:01
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)
    
  }