티스토리 뷰

반응형
SMALL

Camerax 로 구현하다 보니 전면 카메라 일 경우 양옆이 회전되서 반대로 나오는 현상이 나오더라 

 

예전을 돌이켜보면 원래 그랬던거 같기도하고 .. 

 

반응형

 

private fun takePhoto() {
        val imageCapture = imageCapture ?: return
        imageCapture.takePicture(cameraExecutor, object: ImageCapture.OnImageCapturedCallback() {
            override fun onCaptureSuccess(image: ImageProxy) {
                super.onCaptureSuccess(image)
                var bitmap = imageProxyToBitmap(image)?.rotate(image.imageInfo.rotationDegrees.toFloat())

                bitmap = bitmap?.let {
                    if (lensFacing == CameraSelector.LENS_FACING_FRONT) {
                        it.reverse()
                    } else it
                }

            }
            override fun onError(exception: ImageCaptureException) {
                super.onError(exception)
                CmLog.e("Photo capture failed: ${exception.message}")
            }
        })
    }
    
    
    private fun imageProxyToBitmap(image: ImageProxy): Bitmap? {
        val planeProxy = image.planes[0]
        val buffer: ByteBuffer = planeProxy.buffer
        val bytes = ByteArray(buffer.remaining())
        buffer.get(bytes)
        return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
    }
    
    private fun Bitmap.reverse(): Bitmap =
        Bitmap.createBitmap(this, 0, 0, width, height, Matrix().apply { setScale(-1f, 1f) }, false)

    private fun Bitmap.rotate(degrees: Float): Bitmap =
        Bitmap.createBitmap(this, 0, 0, width, height, Matrix().apply { postRotate(degrees) }, true)

 

 

 

2022.09.13 - [Android/Camera] - [ Camera #1 ] CameraX

 

[ Camera #1 ] CameraX

카메라2 너무 어렵고 소스가 복잡하다 CameraX Example 저장하지 않고 바로 이미지 뽑아 쓰기 https://jihunstudy.tistory.com/50

jihunstudy.tistory.com

 

2023.01.16 - [Android/Camera] - [ Camera #2 ] CameraX - ImageCapture.OnImageCapturedCallback

 

[ Camera #2 ] CameraX - ImageCapture.OnImageCapturedCallback

https://jihunstudy.tistory.com/39 [ Camera #1 ] CameraX 카메라2 너무 어렵고 소스가 복잡하다 CameraX Example jihunstudy.tistory.com 이전글에서 간단하게 카메라 x 를 사용하는 방법에 대해서 언급 했는데 사용하다보

jihunstudy.tistory.com

 

반응형
LIST

'Android > Camera' 카테고리의 다른 글

[ Camera #2 ] CameraX - ImageCapture.OnImageCapturedCallback  (0) 2023.01.16
[ Camera #1 ] CameraX  (2) 2022.09.13
댓글