canvas.measureText()
用宿主文本渲染器批量测量字符串。它只返回度量,不执行换行、段落布局或富文本排版。
Syntax
const metrics = await host.canvas.measureText(canvasId, texts, font?);
Parameters
| 参数 | 类型 | 说明 |
|---|---|---|
canvasId |
string |
确定默认字体和缩放上下文 |
texts |
string[] |
有界字符串数组 |
font |
Handle<font, use, app-context, runtime> |
可选的包内字体句柄 |
Return value
TextMetrics[],与 texts 一一对应。至少包含 advance width;实际边界字段必须在所有宿主后端有一致定义后才列入 v0.1。
Examples
const font = await host.asset.loadFont('fonts/ui');
const [save, cancel] = await host.canvas.measureText(
'main',
['保存', '取消'],
font,
);
layoutButtons([save.width, cancel.width]);
批量测量多个字符串,避免逐项跨越 guest/host 边界。
Errors
not-found、stale-handle、invalid-text、limit-exceeded。字体句柄类型不匹配或来自其他应用必须返回 stale-handle/resource-denied。
Requirements
- 能力:
host:canvas.measureText - 相关能力:创建自定义字体需要
host:asset.loadFont - 用户激活:不需要
- 信任档位:green