SVG缩放和平移后获取坐标方法

/** 获取svg坐标点,兼容缩放和平移后的情况 */

// $event 方法原生参数

// svgEle svg元素Id

export const getSvgPoint = ($event: any, svgEle: string) => {

  const svg: any = document.getElementById(svgEle);

  let svgPoint = svg.createSVGPoint();

  const { clientX, clientY } = $event;

  svgPoint.x = clientX;

  svgPoint.y = clientY;

  const matrix = svg.getScreenCTM().inverse();

  const { x, y } = svgPoint.matrixTransform(matrix);

  return { x: Math.floor(x), y: Math.floor(y) }

};

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容