diff --git a/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt b/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt index baa95cd..a46a94b 100644 --- a/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt +++ b/package/android/src/main/java/com/mrousavy/camera/core/PreviewView.kt @@ -198,8 +198,10 @@ class PreviewView(context: Context, callback: SurfaceHolder.Callback) : val viewOrientation = Orientation.PORTRAIT val rotated = point.rotatedBy(viewSize, cameraSize, viewOrientation, sensorOrientation) - Log.i(TAG, "Converted layer point $point to camera point $rotated! ($sensorOrientation, $cameraSize -> $viewSize)") - return rotated + // Clamp to valid camera coordinates (must be non-negative for MeteringRectangle) + val clamped = Point(maxOf(0, rotated.x), maxOf(0, rotated.y)) + Log.i(TAG, "Converted layer point $point to camera point $clamped! ($sensorOrientation, $cameraSize -> $viewSize)") + return clamped } private fun updateLayout() {