Ver Fonte

feat:2dToV

ananzhusen há 1 ano atrás
pai
commit
f28efdb412
1 ficheiros alterados com 22 adições e 0 exclusões
  1. 22 0
      src/views/components/View.vue

+ 22 - 0
src/views/components/View.vue

@@ -1129,9 +1129,31 @@ const openedListener = () => {
   scale.value = Math.round(canvasScale * 100);
   fromArrow.value = canvasFromArrow || '';
   toArrow.value = canvasToArrow || '';
+  deal2DToV();
   meta2d.centerView();
 };
 
+const deal2DToV = ()=>{
+  if(!meta2d.store.data.width||!meta2d.store.data.height){
+    let rect = meta2d.getRect();
+    let scale = meta2d.store.data.scale;
+    if(Math.abs(rect.width/scale-1920)<5&&Math.abs(rect.height/scale-1080)<5){ //1920 1080
+      //大致估算范围是大屏默认范围
+      return;
+    }
+    let origin = meta2d.store.data.origin;
+    meta2d.store.data.width = rect.width/scale;
+    meta2d.store.data.height = rect.height/scale;
+    meta2d.store.data.pens.forEach((pen)=>{
+      if(pen.locked){
+        pen.locked = 0;
+      }
+    });
+    let pens = meta2d.store.data.pens.filter((pen)=>!pen.parentId);
+    meta2d.translatePens(pens,origin.x - rect.x,origin.y - rect.y);
+  }
+}
+
 const patchFlag = () => {
   setDot();
 };