【问题标题】:toDataURL() returns a blank image if Konva is not visible如果 Konva 不可见,toDataURL() 返回一个空白图像
【发布时间】:2020-08-23 05:02:48
【问题描述】:

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

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

  • 我曾尝试在Stage.toDataURL() 之前调用Stage.draw(),但没有成功。
  • 我也尝试在调用Stage.toDataURL() 之前缓存舞台。不走运。
  • 我的画布上没有任何图像,所以这不是等待图像加载的问题。
  • 一旦显示第二个选项卡,即使用户随后切换回第一个选项卡并重新隐藏 Konva,它也可以正常工作。

这是 Konva 的已知限制吗?除非它是可见的,否则它不会渲染?

编辑:已解决

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

【问题讨论】:

    标签: konvajs konva


    【解决方案1】:

    已解决。一些代码试图在页面加载时在其容器内居中和缩放 Konva。由于容器还不可见,它的宽度和高度为 0。这导致代码将 Konva Stage 的宽度和高度设置为负数。一旦我阻止了它,它就可以很好地导出图像——即使是隐藏的。

    【讨论】:

      猜你喜欢
      • 2015-01-03
      • 2016-08-07
      • 2012-08-13
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多