Puede lograr una rotación sobre un punto arbitrario usando fabric.util.rotatePoint
. Esto le permitirá rotar una línea (definida por x1
, y1
, x2
y y2
) sobre un origen (definido por origin_x
y origin_y
) por un ángulo en grados (definido por angle
).
Tenga en cuenta que fabric.util.rotatePoint
realiza una rotación en radianes, aunque angle
s suelen especificarse en grados al utilizar fabric.js.
var rotation_origin = new fabric.Point(origin_x, origin_y);
var angle_radians = fabric.util.degreesToRadians(angle);
var start = fabric.util.rotatePoint(new fabric.Point(x1,y1), rotation_origin, angle_radians);
var end = fabric.util.rotatePoint(new fabric.Point(x2,y2), rotation_origin, angle_radians);
var line1 = new fabric.Line([start.x, start.y, end.x, end.y], {
stroke: '#000000',
strokeWidth: 6
});
Usted puede hacer lo mismo con otros objetos, pero puede que tenga que proporcionar la propiedad angle
para rotar el objeto adecuadamente.