完成了

This commit is contained in:
DESKTOP-I3JPKHK\wy 2025-04-18 14:40:30 +08:00
parent e239ad8710
commit 80256a6042
2 changed files with 29 additions and 19 deletions

View File

@ -417,37 +417,38 @@ class QuestionImageView extends HookWidget with EventBusMixin<BottomOperationBar
if (!annotationState.pen.value) return;
Offset localPosition = event.localPosition; //
var zoomFile = zoomState.zoomFile.value!;
// var imageHeightOffsetStart = zoomFile.imageHeightOffsetStart??0;
var imageHeightOffsetStart = zoomState.zoomFile.value!.getZoomFileOffsetStart(zoomState.initScale.value ?? 1);
print("位置:$localPosition; 图片所在位置:$imageHeightOffsetStart");
if (imageHeightOffsetStart == 0) return;
var dy = localPosition.dy;
if (dy < imageHeightOffsetStart || dy > zoomState.zoomFile.value!.imageHeightOffsetend!) return; //
print(zoomFile.getZoomFileHeightOffsetEnd(zoomState.initScale.value ?? 1));
if (dy < imageHeightOffsetStart || dy > zoomFile.getZoomFileHeightOffsetEnd(zoomState.initScale.value ?? 1)) return; //
var theScale = zoomState.initScale.value ?? 1;
// if (theScale != 1) {
// print("PPPPPPPPPPPPPPPPPPPPPPPP ${(zoomFile.imageHeightOffsetStart ?? 0)}");
// localPosition = Offset(localPosition.dx, localPosition.dy + (zoomFile.imageHeightOffsetStart ?? 0));
// // localPosition = Offset(localPosition.dx / theScale, localPosition.dy / theScale);
// // var theZoomOffset = sateData.zoomOffset;
// // if (theZoomOffset != null) {
// // var dx = theZoomOffset.dx;
// // var dy = theZoomOffset.dy;
// // localPosition = Offset(localPosition.dx + dx, localPosition.dy + dy);
// // }
// }
// - imageHeightOffsetStart
print("向上距离:$imageHeightOffsetStart");
localPosition = Offset(localPosition.dx, localPosition.dy - imageHeightOffsetStart);
// var theScale = sateData.initScale.value ?? 1;
// print("}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} $theScale");
// ///
// if (theScale != 1) {
// print("PPPPPPPPPPPPPPPPPPPPPPPP");
// localPosition = Offset(localPosition.dx / theScale, localPosition.dy / theScale);
// var theZoomOffset = sateData.zoomOffset;
// if (theZoomOffset != null) {
// var dx = theZoomOffset.dx;
// var dy = theZoomOffset.dy;
// localPosition = Offset(localPosition.dx + dx, localPosition.dy + dy);
// }
// if (theScale == 1) {
// }
localPosition = Offset((localPosition.dx+(sateData.zoomOffset?.dx.abs()??0)) / theScale, (dy / theScale) - (imageHeightOffsetStart/ theScale));
print("最终位置 $localPosition");
vnHandWritings.value = List.from(vnHandWritings.value)..add(localPosition);
sateData.handwritings = vnHandWritings.value;
print(sateData.handwritings);
},
child: Obx(() {
var isPen = annotationState.pen.value;

View File

@ -189,6 +189,15 @@ class ZoomFileModel extends Object {
if (zoom == 1 || actualHeight == null) return imageHeightOffsetStart ?? 0;
return (viewHeight - (actualHeight! * zoom)) / 2;
}
///
/// zoom
double getZoomFileHeightOffsetEnd(double zoom) {
if (zoom == 1 || actualHeight == null) return imageHeightOffsetend ?? 0;
var topSpaceDimensions = getZoomFileOffsetStart(zoom);
return topSpaceDimensions + (actualHeight! * zoom);
}
}
//