From 04383690d13f0e57ea4e5fcf91ec21bf3b5a1a96 Mon Sep 17 00:00:00 2001 From: Samsularifin01 <158025491+Samsularifin01@users.noreply.github.com> Date: Sat, 16 May 2026 23:12:28 +0700 Subject: [PATCH] change size camere 9:16 --- lib/screens/camera_screen.dart | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/lib/screens/camera_screen.dart b/lib/screens/camera_screen.dart index 42de0d8..4ad3397 100644 --- a/lib/screens/camera_screen.dart +++ b/lib/screens/camera_screen.dart @@ -55,6 +55,35 @@ class _CameraScreenState extends State { super.dispose(); } + Widget buildCameraPreview() { + final previewSize = controller?.value.previewSize; + if (previewSize == null) { + return CameraPreview(controller!); + } + + // Kamera biasanya memberikan rasio landscape, ubah ke portrait 9:16 + final double previewAspectRatio = previewSize.height / previewSize.width; + + return Center( + child: AspectRatio( + aspectRatio: 9 / 16, + child: ClipRect( + child: OverflowBox( + alignment: Alignment.center, + child: FittedBox( + fit: BoxFit.cover, + child: SizedBox( + width: previewSize.width, + height: previewSize.width / previewAspectRatio, + child: CameraPreview(controller!), + ), + ), + ), + ), + ), + ); + } + @override Widget build(BuildContext context) { if (controller == null || !controller!.value.isInitialized) { @@ -68,7 +97,7 @@ class _CameraScreenState extends State { children: [ // 📷 PREVIEW KAMERA (FULL SCREEN) Positioned.fill( - child: CameraPreview(controller!), + child: buildCameraPreview(), ), // 🔙 TOMBOL KEMBALI (KANAN BAWAH)