canvas.getInfo()
返回本应用绘图面的当前逻辑尺寸和呈现模式。绘图面不存在或已经销毁时返回 null。
Syntax
const info = await host.canvas.getInfo(canvasId);
Parameters
| 参数 | 类型 | 说明 |
|---|---|---|
canvasId |
string |
壳层分配给本应用的有界绘图面标识 |
Return value
CanvasInfo | null
CanvasInfo {
width: u32
height: u32
dpr: f32
mode: "draw" | "pixels"
safeArea: { top: u32, right: u32, bottom: u32, left: u32 }
}
宽高和 safeArea 使用绘图面逻辑像素。safe-area 四边为从对应边缘向内的非负 inset,且相对边之和不得超过对应宽高。dpr 按模块页规则量化并钳制;不要用它推断设备型号。
Examples
const info = await host.canvas.getInfo('main');
if (!info) return;
const byteLength = info.width * info.height * 4;
console.log(`下一帧 rgba8 需要 ${byteLength} 字节`);
不要跨越 canvas.resize 缓存结果:
host.events.on('canvas.resize', async ({ canvasId }) => {
const latest = await host.canvas.getInfo(canvasId);
if (latest) renderer.resize(latest.width, latest.height);
});
Errors
特有错误:denied、limit-exceeded。非法或超长 canvasId 使用版本级公共 invalid-argument;不存在是正常状态,返回 null,不抛 not-found。
Requirements
- 能力:
host:canvas.getInfo - 用户激活:不需要
- 信任档位:green