javascript - 用户可以在 svg 元素上画一条线
问题描述
我有一个 svg 元素:
<svg id="map" width="500" heigh="500"> </svg>
我可以svg tag
使用以下代码在其中添加一个新行:
var newLine = document.createElementNS('http://www.w3.org/2000/svg','line');
newLine.setAttribute('x1', 100);
newLine.setAttribute('y1', 200);
newLine.setAttribute('x2', 200);
newLine.setAttribute('y2', 200);
$("#map").append(newLine);
如果你看一下上面的代码,你会看到我有硬编码的坐标和我自己输入x1,y1
的x2,y2
。它使用提供的坐标成功地在标签
内绘制了一条线。
现在我需要做的是,用户必须能够自己画线。类似于 Windows 绘画应用程序,用户在其中画一条线。
用户必须能够在 svg 内单击并绘制一条直线。因此必须根据用户操作动态提供这些坐标。
我怎样才能做到这一点?我会很感激任何提示。svg
解决方案
推荐阅读
- json - 在 Angular 7 中将 Json 转换为对象
- java - getClass().getResource() 总是返回null的问题
- css - 如何使用 SASS 从外部 Vue 模块重写自定义 CSS 方法?
- sql - 如何求和第 1 列并按条件选择第 2 列?
- javascript - 使用链接访问页面时,Rails JavaScript 代码未执行
- codeigniter - 帮助文件无法在 codeigniter 子域中加载
- c - 如何从 C 代码配置 libinput 设备?
- redux - api 响应后从 redux-observable 史诗中访问最新状态
- xcode - 将 Xcode 10.1 与 Swift 5 一起使用
- azure - Azure 管道秘密变量不适用于 PR 触发器