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)
}
svg 放大缩小后地比例
推荐阅读
- sql执行效率,explain 查询执行效率
- python 中 str与bytes的转换
- Docker安装Jenkins工具
- Python3+Selenium Web自动化测试案例分享⑶——公共方法封装
- mosquitto基于SSL/TLS安全认证测试MQTT
- Python3+requests+unittest+log+excel+HTMLTestRunner+email框架接口自动化案例⑸——返回路径/生成随机数/HTMLTestRunner报告模板
- Robot Framework+adb框架实现Android集成自动化测试案例⑹——GitHub源码地址及测试报告
- Python3+Selenium Web自动化测试案例分享⑷——页面基础类方法
- Robot Framework+adb框架实现Android集成自动化测试案例⑶——L3公共层
- Python开发嵌入式系统测试工具案例分享⑦——老化测试实现代码