Kaynağa Gözat

轨迹位置限制

zhangjie 1 yıl önce
ebeveyn
işleme
ab37e93cb3
1 değiştirilmiş dosya ile 15 ekleme ve 1 silme
  1. 15 1
      src/features/check/CommonMarkBody.vue

+ 15 - 1
src/features/check/CommonMarkBody.vue

@@ -59,7 +59,7 @@ import { dragImage } from "../mark/use/draggable";
 import MultiMediaMarkBody from "../mark/MultiMediaMarkBody.vue";
 import "viewerjs/dist/viewer.css";
 import Viewer from "viewerjs";
-// import { message } from "ant-design-vue";
+import { message } from "ant-design-vue";
 import EventBus from "@/plugins/eventBus";
 type MakeTrack = (
   event: MouseEvent,
@@ -376,7 +376,21 @@ if (hasMarkResultToRender) {
 //#endregion : 显示评分状态和清除轨迹
 
 //#region : 评分
+const checkTrackValid = (event: MouseEvent) => {
+  const { clientWidth, clientHeight, naturalWidth, naturalHeight } =
+    event.target;
+  const { offsetX, offsetY } = event;
+  const xLimitRate = 10 / naturalWidth;
+  const yLimitRate = 10 / naturalHeight;
+  return (
+    offsetX / clientWidth >= xLimitRate && offsetY / clientHeight >= yLimitRate
+  );
+};
 const innerMakeTrack = (event: MouseEvent, item: SliceImage) => {
+  if (!checkTrackValid(event)) {
+    void message.warn("轨迹位置距离边界太近");
+    return;
+  }
   clearEmptySpecialTag(item);
   makeTrack(event, item, maxImageWidth, theFinalHeight);
 };