画布自动扩大/缩小计算:

//得到所拖拽图形相对于画布的位置(-880,-100)
var x = Math.ceil(bounds.x / this.view.scale - this.view.translate.x);
var y = Math.ceil(bounds.y / this.view.scale - this.view.translate.y);
//根据缩放比例拿到长宽
var w = Math.floor(bounds.width / this.view.scale);
var h = Math.floor(bounds.height / this.view.scale);
		
//计算左上角相对于原始画布大小的比例
var x0 = Math.floor(x / size.width);
var y0 = Math.floor(y / size.height);
//计算右下角相对于原始画布大小的比例
var w0 = Math.ceil((x + w) / size.width) - x0;
var h0 = Math.ceil((y + h) / size.height) - y0;
//(-2,-1,3,2)
return new mxRectangle(x0, y0, w0, h0);  

  

放大/缩小后图形位置计算:

//paddingLeft 加上相对于画布的x乘以缩放的n
X = left + x*n 

  

 

相关文章:

  • 2021-09-15
  • 2021-12-02
  • 2022-12-23
  • 2021-06-12
  • 2022-12-23
  • 2022-12-23
  • 2021-09-18
  • 2021-07-20
猜你喜欢
  • 2022-12-23
  • 2021-10-10
  • 2021-10-28
  • 2021-06-05
  • 2021-11-08
  • 2021-11-05
  • 2021-07-10
相关资源
相似解决方案