toDataURL()如果看不到Konva,则返回空白图像

问题描述 投票:0回答:1

我有一个最初隐藏Konva的应用程序(它在页面上选项卡控件的第二个“选项卡”上。)>

[当用户单击此页面上的“保存”按钮时,我正在尝试调用Stage.toDataURL()以获取Konva中的内容。但是,如果从不显示第二个选项卡,则始终返回空白图像。

  • 我曾尝试在Stage.draw()之前调用Stage.toDataURL(),但没有这样做。
  • 我也曾在调用Stage.toDataURL()之前尝试过缓存舞台。没运气。
  • 我在画布上没有任何图像,所以这不是等待图像加载的问题。
  • 一旦显示第二个选项卡,即使用户随后切换回第一个选项卡并重新隐藏Konva,也可以正常工作。
  • 这是Konva的已知限制吗?除非可见,否则不会渲染?

编辑

:已解决

某些代码试图在页面加载时在其容器内居中并缩放Konva。由于容器尚不可见,因此其宽度和高度均为0。这导致代码将Konva Stage的宽度和高度设置为负数。一旦我阻止了这种情况,即使隐藏起来,它也可以很好地导出图像。

我有一个最初隐藏Konva的应用程序(它在页面上选项卡控件的第二个“选项卡上”)。当用户单击此页面上的“保存”按钮时,我正在尝试将Stage.toDataURL()调用为...

konvajs konva
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.