@@ -335,7 +335,6 @@ class _CustomImageCropState extends State<CustomImageCrop>
335
335
}
336
336
final startX = data.x;
337
337
final startY = data.y;
338
- final startScale = data.scale;
339
338
callback ();
340
339
final pathRect = _path.getBounds ();
341
340
final initialImageRect = _getInitialImageRect ();
@@ -364,14 +363,10 @@ class _CustomImageCropState extends State<CustomImageCrop>
364
363
}
365
364
return ;
366
365
}
367
- if (transition.angle == 0 ) {
368
- _addTransitionInternal (CropImageData (scale: startScale / data.scale));
369
- return ;
370
- }
371
366
double minEdgeHalf =
372
367
min (initialImageRect.width, initialImageRect.height) / 2 ;
373
368
double adaptScale = _calculateScaleAfterRotate (
374
- pathRect, startScale , initialImageRect, minEdgeHalf);
369
+ pathRect, data.scale , initialImageRect, minEdgeHalf);
375
370
_addTransitionInternal (CropImageData (scale: adaptScale / data.scale));
376
371
}
377
372
@@ -391,12 +386,14 @@ class _CustomImageCropState extends State<CustomImageCrop>
391
386
392
387
double _getDistanceBetweenPointAndLine (
393
388
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) {
398
390
return (point.dy - lineStart.dy).abs ();
399
391
}
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);
400
397
double line1Delta = lineEnd.dy - lineEnd.dx * line1Slop;
401
398
double line2Slop = - 1 / line1Slop;
402
399
double line2Delta = point.dy - point.dx * line2Slop;
0 commit comments