国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS中使用textPath實現線條上的文字

2019-11-19 14:39:17
字體:
來源:轉載
供稿:網友

近期在項目中要實現關系圖,需要在線條上繪制文字。要實現這個功能,我們需要在SVG中連接的線條從標簽line修改為path,這樣才可能實現類似如下的效果:

 

1個簡單的例子如下所示:

<svg viewBox="0 0 1000 300"    xmlns="http://www.w3.org/2000/svg"     xmlns:xlink="http://www.w3.org/1999/xlink">   <path id="MyPath"      d="M 100 200         C 200 100 300  0 400 100        C 500 200 600 300 700 200        C 800 100 900 100 900 100" fill="none" stroke="red"/>  <text font-family="Verdana" font-size="42.5">   <textPath xlink:href="#MyPath" rel="external nofollow" >    We go up, then we go down, then up again   </textPath>  </text> </svg>

在這里我們需要實現1個path,然后設置其ID屬性,之后我們創建textPath標簽,并鏈接到上述的ID屬性,這樣就可以實現在路徑上關聯文字了。

而在D3中我們可以這樣操作:

var link = svg.append("g").selectAll(".edgepath")        .data(graph.links)        .enter()        .append("path")        .style("stroke-width",0.5)        .style("fill","none")        .attr("marker-end",function(d){         return "url(#"+d.source+")";        })        .style("stroke","black")        .attr("id", function(d,i){         return "edgepath"+i;        }); var edges_text = svg.append("g").selectAll(".edgelabel")         .data(graph.nodes)           .enter()           .append("text")           .attr("class","edgelabel")           .attr("id", function(d,i){            return "edgepath"+i;           })           .attr("dx",80)           .attr("dy",0); edges_text.append("textPath")       .attr("xlink:href", function(d,i){         return "#edgepath"+i;       }).text(function(d){        return d.id;       })

實際上這段代碼就是上述例子的實現,這樣就可以避免編寫繁瑣的SVG代碼了。

總結

以上所述是小編給大家介紹的使用textPath實現線條上的文字,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌兰察布市| 屯门区| 北宁市| 依兰县| 北票市| 深圳市| 比如县| 新宾| 义乌市| 措勤县| 包头市| 萝北县| 登封市| 铜山县| 策勒县| 新蔡县| 周至县| 太仓市| 晴隆县| 元江| 东方市| 荃湾区| 巴林右旗| 尼玛县| 凤翔县| 攀枝花市| 浏阳市| 仁布县| 乐亭县| 科尔| 台山市| 濉溪县| 昭通市| 无为县| 喀喇沁旗| 上思县| 黑龙江省| 六安市| 凌海市| 和静县| 望都县|