javascript - 找不到在 div 中创建的 Canvas 元素

标签 javascript canvas gojs

我正在尝试创建一个不在 UI 上显示的 Canvas 元素并向其绘制 GoJS 数据

    const divElement: HTMLDivElement = document.createElement('div')
    divElement.id='pngCanvas';
    divElement.style.height='1000px';
    divElement.style.width='1000px';
    const floorNameData=JSON.parse(localStorage.getItem('floorNameArray'))
    const selectedFloor = floorNameData.find((item, index) => {
        return item.selected === true;
    });
    const mappedModelData=JSON.parse(localStorage.getItem('floorArray'))[selectedFloor.floorId]
    const fpInstance: Floorplan = new Floorplan(divElement);
    var virtualCanvas = document.querySelector('canvas');
    debugger
    fpInstance.model = go.Model.fromJson(mappedModelData);

GoJS 绘制一个 Canvas 元素到指定的 div, 我将 Canvas 视为 div 元素的 innerHTML。 如何检索 Canvas 元素和样式,以便我可以转换为 png 而无需在浏览器中显示。

最佳答案

他的问题是 div 不在文档中,因此 document.querySelector('canvas') 将返回任何内容,因为它在文档中查找。

改变

var virtualCanvas = document.querySelector('canvas');

var virtualCanvas = divElement.querySelector('canvas');

关于javascript - 找不到在 div 中创建的 Canvas 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59211163/

相关文章:

javascript - Chrome 扩展程序 - SoundCloud 页面操作

javascript - 实例名称作为变量

JavaFX 在 fxml 中调整 Canvas 大小

Delphi Printer.Canvas.TextWidth 属性

javascript - 如何避免 Canvas 被污染?

javascript - GoJS 根据条件显示形状

javascript - 如果某些内容一次不在数组中,如何设置警报

javascript - 如何从两个或多个 DOMNode 创建 NodeList 对象

javascript - Go.js 复选框未附带表格

javascript - 防止GoJS组到组链接创建的闭环