我有 2 个屏幕。
在第一个屏幕中,我从网上加载了一张图片,并让我的用户在图片上绘制了一个矩形。我在. onPanStart
_ 我正在保存开始和结束偏移值。onPanUpdate
GestureDetector
final taggableImage = GestureDetector(
onPanStart: (DragStartDetails details){
provider.updateRectangleStart(details.localPosition);
},
onPanUpdate: (DragUpdateDetails details ){
provider.updateRectangleEnd(details.localPosition);
},
child: CustomPaint(
foregroundPainter: provider.drawRect,
child: image,
),
);
现在我想在一个新屏幕中再次加载图像,并将矩形从我之前保存的偏移值重新绘制到图像上。但矩形总是出现在错误的位置,有时甚至出现在图像之外。
这是我从保存的偏移值中重绘矩形的方法。
final image = CustomPaint(
foregroundPainter: DrawRectangleService(provider.selectedDetection?.detectionRect ?? Rect.zero),
child: FittedBox(
fit: BoxFit.fill,
child: CachedNetworkImage(
placeholder: (context, url) => loadingWidget("Loading image"),
imageUrl: imageURL,
),
),
);