svg(d3)相关方法

在 SVG 中获取文字元素宽度

因为 svg 中是一个一个元素组成的,和原生 DOM 元素差不多,所以就可使用获取普通元素宽度的API, getComputedTextLength 、getBoundingClientRect。

let $text = document.querySelector('.text')
// 方法 1
let w = $text.getComputedTextLength()
// 方法 2
let w = $text.getBoundingClientRect().width

在 Canvas 中获取文字元素宽度

Canvas 相当于是一个黑盒,内部没有元素的概念,所以就不能使用原生DOM提供的方法,但是可以使用 Canvas 提供的API, measureText

const c = document.getElementById("myCanvas")
const ctx = c.getContext("2d")
ctx.font = "30px Arial"
const txt = "Hello World"
let w = ctx.measureText(txt).width
posted @   shine_lovely  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示