我有一个应用程序,其中 Konva 最初是隐藏的(它位于页面上选项卡控件的第二个“选项卡”上)。
当用户单击此页面上的“保存”按钮时,我正在尝试调用Stage.toDataURL()
以获取 Konva 中的内容。但是,如果从不显示第二个选项卡,则始终返回空白图像。
Stage.draw()
我之前试过打电话Stage.toDataURL()
,但没有成功。- 我也尝试在调用之前缓存舞台
Stage.toDataURL()
。没运气。 - 我在画布上没有任何图像,因此等待图像加载不是问题。
- 一旦显示第二个选项卡,即使用户随后切换回第一个选项卡并重新隐藏 Konva,它也可以正常工作。
这是 Konva 的已知限制吗?除非它可见,否则它不会渲染?
编辑:已解决
一些代码试图在页面加载时在其容器内居中和缩放 Konva。由于容器还不可见,它的宽度和高度为 0。这导致代码将 Konva Stage 的宽度和高度设置为负数。一旦我阻止了它,它就可以很好地导出图像——即使是隐藏的。