不需要考虑旋转角度。
|      1abaaba0909      2022-08-12 17:33:23 +08:00 根据你图片大小按百分比计算一下就行了 | 
|      2lzj724      2022-08-12 17:48:41 +08:00 export function getDWordLength(str) { let chinaLen = 0 let otherLen = 0 for (let i in str) { if (str[i].charCodeAt() <= 255) { otherLen++ } else { chinaLen++ } } return chinaLen + otherLen / 2 } export function getStrWidth(str, fontSize = 12, letter = 0) { return getDWordLength(str) * (fontSize + letter) } | 
|  |      3kkeep      2022-08-12 20:29:43 +08:00 via Android 水印文字不是固定的么。字体啥的 | 
|  |      4arch9999      2022-08-12 21:04:43 +08:00 000000 000000 000000 000000 000000 001100 | 
|  |      5reter      2022-08-12 21:25:01 +08:00  4 #2 的做法不可取 OP 的需求是获取渲染文字时所占用的宽度,不是简单用 "字符串的长度 * 字体大小" 就可以解决的。 比较显著的因素有:字体的选择,字体大小,字符的间距,行高,字体是等宽还是非等宽,渲染效果,实际的渲染环境等。这些都会影响渲染后字体的宽度和高度。 建议查阅所使用绘图的 API 文档,一般都会提供 API 用于测量字体的渲染信息。比如 https://docs.oracle.com/javase/7/docs/api/java/awt/FontMetrics.html https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/measureText 关键词 FontMetrics, measureText | 
|      7byzod      2022-08-13 16:40:51 +08:00 其实还挺麻烦的 精度要求不高偷懒可以直接按中文、字母 m 宽度和 x 高度来估算 css 就是这样的 |