Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
378 views
in Technique[技术] by (71.8m points)

rotation - fabricjs Dynamically set boundingbox

I have a polygon (right angle triangle) inside a group. When I rotate the polygon by like 20 degrees the group's bounding box is not what I want. I want to remove the extra space on the right side (see attached

const points = [
  {
    "x": 0,
    "y": 0
  },
  {
    "x": 100,
    "y": 100
  },
  {
    "x": 0,
    "y": 100
  },
  {
    "x": 0,
    "y": 0
  }
]
const poly  = new fabric.Polygon(points);
poly.set({
    originX: "center",
  originY: "center",
    top: 150,
  left: 150,
  fill: "green"
})


var canvas = new fabric.Canvas("c");

var group = new fabric.Group();

window.group = group;
window.poly = poly;

canvas.add(group);
group.addWithUpdate(poly);
canvas.setActiveObject(group);
canvas.renderAll();

function rotate() {
  const shape = group.item(0);
  shape.set({
    angle: shape.angle + 20
  });
  group.addWithUpdate();
  group.setCoords();
  canvas.renderAll();
}

document.getElementById("rotate").addEventListener("click", rotate);
canvas {
  border: 1px solid red;
}
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<canvas id="c" width="250" height="250"></canvas>

<button id="rotate">rotate</button>
question from:https://stackoverflow.com/questions/65943895/fabricjs-dynamically-set-boundingbox

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...