diff --git a/gallery/build.properties b/gallery/build.properties index 05ddb87..2bc7272 100644 --- a/gallery/build.properties +++ b/gallery/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Tue Apr 28 10:15:27 CST 2026 +#Tue Apr 28 10:21:42 CST 2026 stageCount=7 libraryProject= baseVersion=15.0 publishVersion=15.0.6 -buildCount=36 +buildCount=37 baseBetaVersion=15.0.7 diff --git a/gallery/src/main/java/cc/winboll/studio/gallery/CropCanvasView.java b/gallery/src/main/java/cc/winboll/studio/gallery/CropCanvasView.java index 4aa8614..f49723c 100644 --- a/gallery/src/main/java/cc/winboll/studio/gallery/CropCanvasView.java +++ b/gallery/src/main/java/cc/winboll/studio/gallery/CropCanvasView.java @@ -427,6 +427,18 @@ public class CropCanvasView extends View { float x = event.getX(); float y = event.getY(); + RectF bounds = canvasBounds; + if (containerScale != 1.0f) { + x = x / containerScale; + y = y / containerScale; + bounds = new RectF( + canvasBounds.left, + canvasBounds.top, + canvasBounds.right, + canvasBounds.bottom + ); + } + if (colorPickMode) { if (event.getAction() == MotionEvent.ACTION_DOWN) { pickX = x; @@ -455,11 +467,11 @@ public class CropCanvasView extends View { float newRight = cropRect.right + dx; float newBottom = cropRect.bottom + dy; - if (newLeft >= canvasBounds.left && newRight <= canvasBounds.right) { + if (newLeft >= bounds.left && newRight <= bounds.right) { cropRect.left = newLeft; cropRect.right = newRight; } - if (newTop >= canvasBounds.top && newBottom <= canvasBounds.bottom) { + if (newTop >= bounds.top && newBottom <= bounds.bottom) { cropRect.top = newTop; cropRect.bottom = newBottom; }