【问题标题】:How do I convert DOM coordinate to SVG coordinate?如何将 DOM 坐标转换为 SVG 坐标?
【发布时间】:2021-05-29 20:57:35
【问题描述】:

我正在尝试转换从ontouch 事件(更具体地说是clientXclientY)获得的dom coordiante,但是我不明白我该怎么做。

我查看了这个例子,发现: https://codepen.io/ehsanjso/pen/xNZgPE?editors=1010 而且我一个都没听懂。

【问题讨论】:

标签: javascript html svg dom


【解决方案1】:

如果 DOM 和 SVG 具有相同的尺寸,则以像素和百分比为单位的坐标相同。如果一个比另一个大/小,则坐标百分比相同,像素不同。 X维度计算示例:

示例 1

  • DOM 的宽度为 200
  • SVG 元素的宽度为 200
  • DOM 中 x 处的点:50 => SVG 中 x 处的点:50 (25%)

示例 2

  • DOM 的宽度为 200
  • SVG 元素的宽度为 100
  • DOM 中 x 处的点:50 => SVG 中 x 处的点:25 (25%)

公式:target_width * (point / width)

我希望这有助于理解基础知识,解释您提供的整个示例有点超出范围

【讨论】:

  • 对于其中一个示例,该公式的实际效果如何?
  • 到目前为止你尝试过什么? Stack Overflow 不是编码服务。人们喜欢帮助你,但你需要先帮助自己。
猜你喜欢
  • 2020-08-24
  • 2018-06-28
  • 2013-09-22
  • 2012-12-02
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
  • 1970-01-01
相关资源
最近更新 更多