Konva JS работает как трансформатор - PullRequest
0 голосов
/ 29 мая 2018

Как сделать так, чтобы кадрирование в konvajs работало как Transformer

что я имею в виду:

активируйте какой-либо флажок, чтобы установить его на кадрирование
выберите элемент (изображение) на холсте, который он должен показатьполе, в котором можно изменить размер измененной позиции только на этом элементе
, после чего нажатие на кнопку приводит к кадрированию

я не могу получить 2-й балл, остальное довольно легко

спасибо за каждый ответ

1 Ответ

0 голосов
/ 01 июня 2018

Это широкий вопрос, поэтому здесь представлен широкий ответ, ориентированный на подход для каждого шага.

Форма Konva Rect может использоваться для обозначения рамки обрезки.Это будет прозрачная заливка, нарисованная поверх изображения.Форма Konva Rect была бы перетаскиваемой, с функцией перетаскивания, которая ограничивает положение x, y, чтобы ее нельзя было перетаскивать по краю изображения (т. Е. Так, чтобы оно всегда находилось внутри или прилегало к краю изображения, никогда не перекрываякрая).Исходный размер и форма Rect могут соответствовать любым ограничениям, которые вы накладываете, или текущему размеру и форме изображения.

В каждом углу и с каждой стороны рамки обрезки создайте маркеры с другими формами Konva Rect,Каждый из них можно перетаскивать с помощью функции перетаскивания, которая ограничивает положение перетаскивания по оси и связанному краю (ам) и границам изображения и минимальному размеру рамки обрезки.Функция перетаскивания также будет использоваться для обновления положения / размера рамки обрезки, чтобы края соответствовали положению ручки.

Затем можно использовать положение / размер рамки обрезки, чтобы определить, где обрезать изображение.

Для дополнительной обратной связи с пользователем вы можете также применить фильтр внутри или снаружи рамки обрезки, чтобы затемнить, осветлить или затемнить то, что обрезается, используя полупрозрачный прямоугольник или один из фильтров.В качестве альтернативы вы можете использовать функцию отсечения.https://konvajs.github.io/docs/clipping/Clipping_Regions.html

...