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