第一种方式:

   使用fitView()方法,图形自动适配画布大小,但是会有一个问题,当图形节点比较少初始化的时候,节点就会放大好几倍,看起来很不好。

第二种方式:

   重写fitView()方法,将中心点设置到画布的中心点

const width = graph.get("width");
      const height = graph.get("height");
      const group = graph.get("group");
      group.resetMatrix();
      const bbox = group.getCanvasBBox();

      if (bbox.width === 0 || bbox.height === 0) return;
      const viewCenter = {
        x: width / 2,
        y: height / 2,
      };

      const groupCenter = {
        x: bbox.x + bbox.width / 2,
        y: bbox.y + bbox.height / 2,
      };
      graph.translate(viewCenter.x - groupCenter.x, viewCenter.y - groupCenter.y);

  

posted on 2020-11-30 09:28  zoey-blog  阅读(4009)  评论(0)    收藏  举报