Skip to content

Commit bff8ba3

Browse files
committed
fix scale not working bug
1 parent 83dbed4 commit bff8ba3

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

lib/src/widgets/custom_image_crop_widget.dart

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,6 @@ class _CustomImageCropState extends State<CustomImageCrop>
335335
}
336336
final startX = data.x;
337337
final startY = data.y;
338-
final startScale = data.scale;
339338
callback();
340339
final pathRect = _path.getBounds();
341340
final initialImageRect = _getInitialImageRect();
@@ -364,14 +363,10 @@ class _CustomImageCropState extends State<CustomImageCrop>
364363
}
365364
return;
366365
}
367-
if (transition.angle == 0) {
368-
_addTransitionInternal(CropImageData(scale: startScale / data.scale));
369-
return;
370-
}
371366
double minEdgeHalf =
372367
min(initialImageRect.width, initialImageRect.height) / 2;
373368
double adaptScale = _calculateScaleAfterRotate(
374-
pathRect, startScale, initialImageRect, minEdgeHalf);
369+
pathRect, data.scale, initialImageRect, minEdgeHalf);
375370
_addTransitionInternal(CropImageData(scale: adaptScale / data.scale));
376371
}
377372

@@ -391,12 +386,14 @@ class _CustomImageCropState extends State<CustomImageCrop>
391386

392387
double _getDistanceBetweenPointAndLine(
393388
Offset point, Offset lineStart, Offset lineEnd) {
394-
double line1Slop =
395-
(lineEnd.dy - lineStart.dy) / (lineEnd.dx - lineStart.dx);
396-
397-
if (line1Slop == 0) {
389+
if (lineEnd.dy == lineStart.dy) {
398390
return (point.dy - lineStart.dy).abs();
399391
}
392+
if (lineEnd.dx == lineStart.dx) {
393+
return (point.dx - lineStart.dx).abs();
394+
}
395+
double line1Slop =
396+
(lineEnd.dy - lineStart.dy) / (lineEnd.dx - lineStart.dx);
400397
double line1Delta = lineEnd.dy - lineEnd.dx * line1Slop;
401398
double line2Slop = -1 / line1Slop;
402399
double line2Delta = point.dy - point.dx * line2Slop;

0 commit comments

Comments
 (0)