|
@@ -36,6 +36,7 @@ export default function useSliceTrack(hasMarkResultToRender = false) {
|
|
markStore.currentTask.sliceConfig =
|
|
markStore.currentTask.sliceConfig =
|
|
markStore.currentTask.sliceConfig.filter((v) => v.i <= sliceNum);
|
|
markStore.currentTask.sliceConfig.filter((v) => v.i <= sliceNum);
|
|
for (const sliceConfig of markStore.currentTask.sliceConfig) {
|
|
for (const sliceConfig of markStore.currentTask.sliceConfig) {
|
|
|
|
+ // 在原图基础上设置遮盖区之后的图,用作制作阅卷裁切图的原图
|
|
const url = markStore.currentTask.sliceUrls[sliceConfig.i - 1];
|
|
const url = markStore.currentTask.sliceUrls[sliceConfig.i - 1];
|
|
const image = await loadImage(url);
|
|
const image = await loadImage(url);
|
|
images[sliceConfig.i] = image;
|
|
images[sliceConfig.i] = image;
|
|
@@ -100,19 +101,21 @@ export default function useSliceTrack(hasMarkResultToRender = false) {
|
|
tempSliceImagesWithTrackList.push({
|
|
tempSliceImagesWithTrackList.push({
|
|
url: dataUrl,
|
|
url: dataUrl,
|
|
indexInSliceUrls: sliceConfig.i,
|
|
indexInSliceUrls: sliceConfig.i,
|
|
- // 通过positionY来定位是第几张slice的还原,并过滤出相应的track
|
|
|
|
|
|
+ // 通过轨迹位置是否落在裁切图上来定位轨迹在第几张图片
|
|
markerTrackList: thisImageTrackList.filter(
|
|
markerTrackList: thisImageTrackList.filter(
|
|
(t) =>
|
|
(t) =>
|
|
- t.positionY >= accumTopHeight / theFinalHeight.value &&
|
|
|
|
- t.positionY < accumBottomHeight / theFinalHeight.value
|
|
|
|
|
|
+ t.offsetX >= sliceConfig.x &&
|
|
|
|
+ t.offsetX <= sliceConfig.x + sliceConfig.w &&
|
|
|
|
+ t.offsetY >= sliceConfig.y &&
|
|
|
|
+ t.offsetY <= sliceConfig.y + sliceConfig.h
|
|
),
|
|
),
|
|
tagList: thisImageTagList.filter(
|
|
tagList: thisImageTagList.filter(
|
|
(t) =>
|
|
(t) =>
|
|
- t.positionY >= accumTopHeight / theFinalHeight.value &&
|
|
|
|
- t.positionY < accumBottomHeight / theFinalHeight.value
|
|
|
|
|
|
+ t.offsetX >= sliceConfig.x &&
|
|
|
|
+ t.offsetX <= sliceConfig.x + sliceConfig.w &&
|
|
|
|
+ t.offsetY >= sliceConfig.y &&
|
|
|
|
+ t.offsetY <= sliceConfig.y + sliceConfig.h
|
|
),
|
|
),
|
|
- // originalImageWidth: image.naturalWidth,
|
|
|
|
- // originalImageHeight: image.naturalHeight,
|
|
|
|
sliceImageWidth: sliceImageRendered.naturalWidth,
|
|
sliceImageWidth: sliceImageRendered.naturalWidth,
|
|
sliceImageHeight: sliceImageRendered.naturalHeight,
|
|
sliceImageHeight: sliceImageRendered.naturalHeight,
|
|
dx: sliceConfig.x,
|
|
dx: sliceConfig.x,
|
|
@@ -256,13 +259,17 @@ export default function useSliceTrack(hasMarkResultToRender = false) {
|
|
indexInSliceUrls: markStore.currentTask.sliceUrls.indexOf(url) + 1,
|
|
indexInSliceUrls: markStore.currentTask.sliceUrls.indexOf(url) + 1,
|
|
markerTrackList: thisImageTrackList.filter(
|
|
markerTrackList: thisImageTrackList.filter(
|
|
(t) =>
|
|
(t) =>
|
|
- t.positionY >= accumTopHeight / theFinalHeight.value &&
|
|
|
|
- t.positionY < accumBottomHeight / theFinalHeight.value
|
|
|
|
|
|
+ t.offsetX >= sliceConfig.x &&
|
|
|
|
+ t.offsetX <= sliceConfig.x + sliceConfig.w &&
|
|
|
|
+ t.offsetY >= sliceConfig.y &&
|
|
|
|
+ t.offsetY <= sliceConfig.y + sliceConfig.h
|
|
),
|
|
),
|
|
tagList: thisImageTagList.filter(
|
|
tagList: thisImageTagList.filter(
|
|
(t) =>
|
|
(t) =>
|
|
- t.positionY >= accumTopHeight / theFinalHeight.value &&
|
|
|
|
- t.positionY < accumBottomHeight / theFinalHeight.value
|
|
|
|
|
|
+ t.offsetX >= sliceConfig.x &&
|
|
|
|
+ t.offsetX <= sliceConfig.x + sliceConfig.w &&
|
|
|
|
+ t.offsetY >= sliceConfig.y &&
|
|
|
|
+ t.offsetY <= sliceConfig.y + sliceConfig.h
|
|
),
|
|
),
|
|
// originalImageWidth: image.naturalWidth,
|
|
// originalImageWidth: image.naturalWidth,
|
|
// originalImageHeight: image.naturalHeight,
|
|
// originalImageHeight: image.naturalHeight,
|