Konva 缩放填充到舞台上的内容

问题描述

嗨,我对如何实现这一点非常迷茫。我基本上是在将某些内容添加到舞台时尝试将其放大。

我有一个阶段和一层。一些形状被添加到图层,假设一些线添加了一些预定义的点(X 和 Y 坐标数组)。添加这些形状后,我想更改舞台的 X、Y 和比例,以便新形状居中并很好地适应屏幕。无需调整大小或更改所有形状。

添加形状后,它们可能会以随机大小(非常小或大)完全消失。所以我想放大或缩小以填充或适合具有此内容用户的视图。

我不知道 Konva 是否真的有什么特别之处。我希望有人能指出我正确的方向,谢谢。

解决方法

你需要知道的是 layer.getClientRect() 会给你一个围绕舞台内容的矩形。据此,您可以计算要应用的最佳比例以使内容缩放以适合窗口,以及应用到图层以将缩放内容置于图层中心的位置。