Я разрабатываю некоторый визуальный инструмент, который содержит объекты и взаимодействия вокруг них, такие как изменение размера / перемещение / вращение / et c ... в ванили javascript.
Теперь я застрял с несколькими -Выберите функциональность, когда вращение на месте.
Вот ссылка на codepen с моими попытками. Функция getBoundaries()
хорошо работает, когда нет вращения, но когда объект вращается (например, нажмите кнопку) - очевидно, он не работает. Важное примечание - я хочу, чтобы пунктирные границы поворачивались в той же степени, что и выбираемые объекты.
function getBoundaries(activeObjects) {
var xMin = Math.min.apply(null, activeObjects.map(o => o.x));
var yMin = Math.min.apply(null, activeObjects.map(o => o.y));
var xMax = Math.max.apply(null, activeObjects.map(o => o.x + o.w));
var yMax = Math.max.apply(null, activeObjects.map(o => o.y + o.h));
return {
x: xMin,
y: yMin,
w: xMax - xMin,
h: yMax - yMin,
r: o1.r
};
}