如何在 svg 中查找文本的坐标
How to find the coordinates of a text in an svg?
我有一个svg,它有一些形状和一些文字。 我想要的是特定文本的坐标和ID。 比如:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1010px" height="750px" viewBox="0 0 1010 750" preserveAspectRatio="xMidYMid meet" zoomAndPan="disable" >
<rect x="104" y="85" stroke="black" id="e1_rectangle" style="stroke-width: 1px; vector-effect: non-scaling-stroke;" width="145" height="209" fill="red"/>
<text fill="black" x="346" y="147" id="e2_texte" style="font-family: Arial; font-size: 20px;" transform="matrix(1 0 0 1 -217 -80)">rectangle</text>
<circle id="e5_circle" cx="407" cy="166" stroke="black" style="stroke-width: 1px; vector-effect: non-scaling-stroke;" r="83.0963296422" fill="green"/>
<text fill="black" x="387" y="62" id="e6_texte" style="font-family: Arial; font-size: 20px;" >circle</text>
</svg>
现在,如果我想知道文本的 x,y 坐标:"矩形",我该怎么做呢?
谢谢
您可以使用(因为它标记的)d3 来做到这一点。
//filter all the texts
var texts = d3.selectAll("text")[0].filter(function(r) {
return d3.select(r).text() == "rectangle"
})
//map all the x and y of filtered texts
var coordinates = texts.map(function(t){
return {x: d3.select(t).attr("x"), y : d3.select(t).attr("y")}
})
console.log(coordinates)
工作代码在这里
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- 将文本区域行/列转换为屏幕 x/y 坐标
- 从折线图的字符串值(文本)制作 x 坐标
- OpenLayers:自动将 EPSG 4326 - 文本图层的坐标转换为地图的投影 (EPSG:900913)
- 如何在 svg 中查找文本的坐标
- 如何在使用文本对齐时调整图像大小并保持图像映射坐标:居中
- 使用Javascript将鼠标点击坐标插入文本输入框
- 找出图像中文本块的像素坐标
- 谷歌用文本框映射坐标
- 获取键盘焦点在文本区域或输入上的坐标
- 如何在input extarea元素中接收选定文本的坐标
- 谷歌可视化饼图-改变文本坐标
- 获取Rafael.js文本元素集的第n个元素的x坐标
- 如何获取用户的地理位置(城市名称,而不是坐标)并将其发送到文本框
- 浏览器页面中选定文本的坐标
- 预计算SVG文本坐标和宽度
- 文本区域中特定行的垂直坐标