bill 2 bulan lalu
induk
melakukan
dae3552dd5

+ 1 - 0
src/core/components/image/temp-image.vue

@@ -4,6 +4,7 @@
       :config="{
         ...data,
         ...config,
+        shadowForStrokeEnabled: true,
         id: undefined,
         zIndex: undefined,
       }"

+ 51 - 51
src/core/renderer/renderer.vue

@@ -1,63 +1,63 @@
 <template>
+  <div
+    class="draw-layout"
+    @contextmenu.prevent
+    :style="{ cursor: cursorStyle }"
+    ref="layout"
+    :class="{ temp: tempStatus }"
+  >
+    <div class="mount-mask" :id="DomOutMountId" />
     <div
-      class="draw-layout"
-      @contextmenu.prevent
-      :style="{ cursor: cursorStyle }"
-      ref="layout"
-      :class="{ temp: tempStatus }"
+      class="draw-content"
+      :style="fix && { width: size?.width + 'px', height: size?.height + 'px' }"
     >
-      <div class="mount-mask" :id="DomOutMountId" />
-      <div
-        class="draw-content"
-        :style="fix && { width: size?.width + 'px', height: size?.height + 'px' }"
-      >
-        <div class="mount-mask" :id="DomMountId"></div>
+      <div class="mount-mask" :id="DomMountId"></div>
 
-        <v-stage ref="stage" :config="size" v-if="layout">
-          <v-layer :config="viewerConfig" id="formal">
+      <v-stage ref="stage" :config="size" v-if="layout">
+        <v-layer :config="viewerConfig" id="formal">
+          <v-group>
             <v-group>
-              <v-group>
-                <Back />
-              </v-group>
-              <v-group>
-                <BackGrid v-if="expose.config.showGrid" />
-              </v-group>
-            </v-group>
-            <v-group :id="DataGroupId">
-              <component
-                :is="GroupComponentMap[type]"
-                v-for="type in types"
-                :type="type"
-                :key="type"
-              />
+              <Back />
             </v-group>
             <v-group>
-              <component
-                v-for="part in mountParts.value"
-                :is="part.comp"
-                :key="part.props.key"
-                v-bind="part.props"
-              />
+              <BackGrid v-if="expose.config.showGrid" />
             </v-group>
-          </v-layer>
-          <!--	临时组,提供临时绘画,以及高频率渲染	-->
-          <v-layer :config="viewerConfig" id="temp">
-            <template v-if="mode.include(Mode.draw)">
-              <TempShapeGroup v-for="type in types" :type="type" :key="type" />
-            </template>
-          </v-layer>
-          <v-layer id="helper">
-            <!-- <ActiveBoxs /> -->
-            <SnapLines />
-            <SplitLine v-if="expose.config.showLabelLine" />
-            <Compass v-if="config.showCompass" />
-            <layers v-if="store.layers.length > 1" />
-            <Debugger v-if="isDev" />
-            <Border />
-          </v-layer>
-        </v-stage>
-      </div>
+          </v-group>
+          <v-group :id="DataGroupId">
+            <component
+              :is="GroupComponentMap[type]"
+              v-for="type in types"
+              :type="type"
+              :key="type"
+            />
+          </v-group>
+          <v-group>
+            <component
+              v-for="part in mountParts.value"
+              :is="part.comp"
+              :key="part.props.key"
+              v-bind="part.props"
+            />
+          </v-group>
+        </v-layer>
+        <!--	临时组,提供临时绘画,以及高频率渲染	-->
+        <v-layer :config="viewerConfig" id="temp">
+          <template v-if="mode.include(Mode.draw)">
+            <TempShapeGroup v-for="type in types" :type="type" :key="type" />
+          </template>
+        </v-layer>
+        <v-layer id="helper">
+          <!-- <ActiveBoxs /> -->
+          <SnapLines />
+          <SplitLine v-if="expose.config.showLabelLine" />
+          <Compass v-if="config.showCompass" />
+          <layers v-if="store.layers.length > 1" />
+          <Debugger v-if="isDev" />
+          <Border />
+        </v-layer>
+      </v-stage>
     </div>
+  </div>
 </template>
 
 <script lang="ts" setup>

+ 2 - 0
src/example/fuse/views/defStyle.ts

@@ -2,6 +2,7 @@ import { defaultStyle as iconDefStyle } from "@/core/components/icon";
 import { defaultStyle as rectDefStyle } from "@/core/components/rectangle";
 import { defaultStyle as circleDefStyle } from "@/core/components/circle";
 import { defaultStyle as triangleDefStyle } from "@/core/components/triangle";
+import { defaultStyle as polygonDefStyle } from "@/core/components/polygon";
 import { defaultStyle as arrowDefStyle } from "@/core/components/arrow";
 import {
   defaultStyle as serialDefStyle,
@@ -87,6 +88,7 @@ export const tabCustomStyle = (p: PaperKey, draw: Draw) => {
       tableStrokeWidth: getRealPixel(0.5, p),
       repColCount: 2,
     } as any),
+    setDefStyle(polygonDefStyle, { strokeWidth: getRealPixel(0.5, p) }),
     setDefStyle(tableDefStyle, { strokeWidth: getRealPixel(0.5, p) }),
     setDefStyle(rectDefStyle, { strokeWidth: getRealPixel(0.5, p) }),
     setDefStyle(circleDefStyle, { strokeWidth: getRealPixel(0.5, p) }),

+ 2 - 0
src/example/fuse/views/tabulation/gen-tab.ts

@@ -41,6 +41,7 @@ export const transformPaper = (
 
 export const getCoverPaperScale = (cover: ImageData, paperKey: PaperKey) => {
   let pixelScale = (cover.widthRaw! / cover.width) * cover.proportion!.scale;
+  console.log(cover.width, cover.height)
   const realPixelScale = paperConfigs[paperKey].scale;
   return realPixelScale * pixelScale;
 };
@@ -49,6 +50,7 @@ export const setCoverPaperScale = (cover: ImageData, paperKey: PaperKey, scale:
   const realPixelScale = paperConfigs[paperKey].scale;
   cover.width = cover.widthRaw! / ((scale / realPixelScale) /cover.proportion!.scale)
   cover.height = (cover.heightRaw! / cover.widthRaw!) * cover.width
+  console.log(cover.width, cover.height)
 }
 
 export const genTabulationData = async (paperKey: PaperKey, compass?: number, cover?: TabCover | null) => {