react-native-rectangle-doc-scanner 7.48.0 → 7.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -246,10 +246,9 @@ class CameraController(
|
|
|
246
246
|
val previewSizes = streamConfigMap.getOutputSizes(SurfaceTexture::class.java)
|
|
247
247
|
Log.d(TAG, "[CAMERA2] Available preview sizes: ${previewSizes?.take(10)?.joinToString { "${it.width}x${it.height}" }}")
|
|
248
248
|
|
|
249
|
-
// Prefer 4:3
|
|
250
|
-
val
|
|
251
|
-
val
|
|
252
|
-
val minPreviewArea = if (isTablet) 1280 * 720 else 960 * 720
|
|
249
|
+
// Prefer 4:3 so height-based scaling fills the screen without stretching.
|
|
250
|
+
val targetPreviewAspect = 4.0 / 3.0
|
|
251
|
+
val minPreviewArea = 960 * 720
|
|
253
252
|
previewSize = chooseBestSize(previewSizes, targetPreviewAspect, null, minPreviewArea, preferClosestAspect = true)
|
|
254
253
|
?: chooseBestSize(previewSizes, viewAspect, null, preferClosestAspect = true)
|
|
255
254
|
?: previewSizes?.maxByOrNull { it.width * it.height }
|
|
@@ -581,7 +580,15 @@ class CameraController(
|
|
|
581
580
|
val isSwapped = rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270
|
|
582
581
|
val bufferWidth = if (isSwapped) preview.height.toFloat() else preview.width.toFloat()
|
|
583
582
|
val bufferHeight = if (isSwapped) preview.width.toFloat() else preview.height.toFloat()
|
|
584
|
-
|
|
583
|
+
var scale = if (isSwapped) {
|
|
584
|
+
// Scale by height to preserve aspect, then ensure width fills the view.
|
|
585
|
+
viewHeight / bufferHeight
|
|
586
|
+
} else {
|
|
587
|
+
viewHeight / bufferHeight
|
|
588
|
+
}
|
|
589
|
+
if (bufferWidth * scale < viewWidth) {
|
|
590
|
+
scale = viewWidth / bufferWidth
|
|
591
|
+
}
|
|
585
592
|
val scaledWidth = bufferWidth * scale
|
|
586
593
|
val scaledHeight = bufferHeight * scale
|
|
587
594
|
|