Closed zuiidea closed 2 years ago
现在 g会自动创建canvas元素 container只是提供一个挂载点 g自动创建的canvas元素会挂载到你传入的这个元素里面的 你的意思是直接使用你自己创建的canvas元素嘛
是的,这样可以避免操作dom,在webwoker内无法操作dom
是的,这样可以避免操作dom,在webwoker内无法操作dom
改天我尽快提个PR 让大佬们看看通过一下
之前确实存在这个问题,新版我们考虑了在 Worker 这样的非 DOM 环境内运行,我尽快补充一个示例
新版增加了 canvas
参数支持传入以创建的 <canvas>
或者 OffscreenCanvas:
// 用户自行创建 <canvas>
const $canvas = document.createElement('canvas');
// 设置画布大小
const dpr = window.devicePixelRatio;
$canvas.height = dpr * 600;
$canvas.width = dpr * 500;
$canvas.style.height = '600px';
$canvas.style.width = '500px';
// 用户自行将 <canvas> 加入文档
document.getElementById('container').appendChild($canvas);
// 使用创建好的 <canvas> 创建画布
const canvas = new Canvas({
canvas: $canvas,
renderer: canvasRenderer,
});
container
参数可以直接传入HTMLCanvasElement
类型,无需通过document.createElement('canvas')
去生成一个canvas元素。应用场景:
使用 OffscreenCanvas 时,
web worker
内不支持document