#canvas #konvajs #zoom-sdk #react-konva #konva
Вопрос:
Привет, я очень запутался в том, как этого добиться. Я в основном пытаюсь увеличить масштаб некоторого контента, когда он добавляется на сцену.
У меня есть одна стадия и один слой. Некоторые фигуры добавляются в слой, скажем, некоторые линии добавляются с некоторыми предопределенными точками (массив координат X и Y). Когда эти фигуры будут добавлены, я хочу изменить X,Y и масштаб сцены, чтобы новые фигуры были центрированы и хорошо вписывались в экран. Без изменения размера или изменения всех форм.
Когда фигуры добавляются, они могут быть полностью скрыты из виду со случайным размером, очень маленьким или большим. Поэтому я хочу увеличить или уменьшить масштаб, чтобы заполнить или подогнать представление для пользователя этим контентом.
Я не знаю, действительно ли в этом есть что-то конкретное для Konva. Я надеюсь, что кто-нибудь сможет указать мне правильное направление, спасибо.
Ответ №1:
Что вам нужно знать, так это то, что layer.GetClientRect() предоставит вам прямую ссылку на содержимое сцены. Исходя из этого, вы можете вычислить наилучший масштаб, который необходимо применить, чтобы содержимое было масштабировано в соответствии с окном, и положение, которое необходимо применить к слою, чтобы поместить масштабированное содержимое в центр слоя.