Jetpack Compose Custom CameraView 촬영-프리뷰 구현하기
현재 서비스중인 앱의 카메라 기능은 전부 XML 기반의 커스텀뷰를 만들어서 사용중이다. Compose를 공부하는 기회에 해당 부분을 Compose로 구현해 봤다. 정말 간단한 기능의 카메라 촬영, 프리뷰 기능만을 구현한 코드를 기록해 두려한다. 코드의 가독성이나 이슈가될 만한 부분들은 상황에 맞게 조절하여 사용하시면 됩니다. @Composable fun CameraComponent( modifier: Modifier = Modifier, selfMode: Boolean, takeAction: Boolean, receiveImageUrl: (Bitmap?) -> Unit ) { val cameraSelector = if (selfMode) { CameraSelector.DEFAULT_FRONT_CAMERA } else { CameraSelector.DEFAULT_BACK_CAMERA } val context = LocalContext.current val lifecycleOwner = LocalLifecycleOwner.current val imageCapture = remember { ImageCapture.Builder().build() } val cameraProviderFuture = remember { ProcessCameraProvider.getInstance(context) } val cameraProvider: ProcessCameraProvider = cameraProviderFuture.get() val preview: androidx.camera.core.Preview = androidx.camera.core.Preview.Builder().build() val cameraViewModel: CameraComponentModel = hiltViewModel() val imageBitmap by came