У меня есть приложение, в котором Konva изначально скрыта (находится на второй «вкладке» вкладки на странице).
Когда пользователь нажимает кнопку «Сохранить» на этой странице, я ' m пытаюсь позвонить по номеру Stage.toDataURL()
, чтобы получить контент в Konva. Однако, если вторая вкладка никогда не отображается, всегда возвращается пустое изображение.
- Я пробовал вызывать
Stage.draw()
до Stage.toDataURL()
, но этого не произошло. - Я также пробовал кэшировать Stage перед вызовом
Stage.toDataURL()
. Не повезло. - У меня нет изображений на холсте, поэтому ждать загрузки изображений не проблема.
- После отображения 2-й вкладки, даже если пользователь затем переключается обратно на 1-ю вкладку и повторно скрывает Konva, тогда она работает нормально.
Это известное ограничение Konva? Что он не будет отображаться, если не будет виден?
РЕДАКТИРОВАТЬ : Разрешено
Некоторый код пытался центрировать и масштабировать Konva в своем контейнере при загрузке страницы. Поскольку контейнер еще не был виден, его ширина и высота были равны 0. Это заставило код установить ширину и высоту Konva Stage на отрицательные числа. Как только я это предотвратил, он смог нормально экспортировать изображение, даже если оно было скрыто.