О проблеме
Я работаю над графическим редактором, созданным с konva.js
После нескольких часов исследований я не могу получить преобразователь чтобы настроить подрезанный размер группы
Подробности
У меня есть группа, которая определяет область простого клипа , и внутри нее есть2 прямоугольников одинакового размера и положения, сложенных друг на друга.
Хорошо работает обрезанная группа;однако это приложение является динамическим, поэтому для ввода области клипа требуется ввод от пользователя. Когда я вызываю group.clip()
и layer.batchDraw()
, он выполняет отсечение, но ограничивающий прямоугольник (преобразователь) не обновляется, даже после того, как я вызываю transformer.forceUpdate()
, не повезло.
То, что я пробовал
Когда я destroy
преобразователь и воссоздать его, он по-прежнему указывает на полноразмерный (не обрезанный размер), а обрезанная область все еще остается.
Вот экранснимок для ясности: Screenshot-20191008-153503.png
Некоторый код
Я сомневаюсь, что это даже поможет, код находится в отдельных файлах, и значения приходятиз пользовательского ввода, как упоминалось. Что бы это ни стоило, это для вас:
let grp = new Konva.Group({x:o.x,y:o.y,draggable:o.draggable,clip:{x:0,y:0,width:o.width,height:o.height}});
Любой другой код, который я вставлю сюда, просто сбьет с толку нас всех, это ОЧЕНЬ много, и я знаю, что люди бегут, когда видят это, поэтомуЕсли я добавлю больше кода, пожалуйста, дайте мне знать в комментариях?
Буду признателен за любую помощь, спасибо.