комплект камеры получить изображение из кадра, Kotlin, Android Studio - PullRequest
0 голосов
/ 28 января 2019

Я использую комплект камеры в качестве слоя предварительного просмотра, я новичок в kotlin и выполнил инструкцию, но мне кажется, что я не могу получить изображение из предварительного просмотра в просмотр изображений, когда я нажимаю кнопку.Он доходит до функции, но изображение просто исчезает из окна временного изображения.

Ниже приведен мой код.и ниже это печать в logcat, чтобы показать напечатанные мной строки.

 cameraBtn.setOnClickListener {
        println("Tony Took image 1")
            cameraKitView.captureImage(CameraKitView.ImageCallback { cameraKitView, capturedImage ->
                val savedPhoto = File(Environment.getExternalStorageDirectory(), "photo.jpg")
                try {
                    println("Tony got to image 2")
                    val outputStream = FileOutputStream(savedPhoto.getPath())
                    var bitmap = BitmapFactory.decodeFile(savedPhoto.absolutePath)
                    println("Tony got to image 3 in try block")
                    imageTook.setImageBitmap(bitmap)
                    outputStream.write(capturedImage)
                    outputStream.close()
                } catch (e: java.io.IOException) {
                    println("Tony got to image 4 in catch block")
                    e.printStackTrace()
                }
            })
    }

2019-01-27 21: 11: 18.701 8191-8191 / uk.tonymerritt.appchecker I /System.out: Tony Took image 1 2019-01-27 21: 11: 20.119 8191-8191 / uk.tonymerritt.appchecker I / System.out: Tony получил изображение 2 2019-01-27 21: 11: 20.128 8191-8191 / uk.tonymerritt.appchecker I / System.out: Тони получил изображение 3 в блоке попытки

1 Ответ

0 голосов
/ 29 января 2019

Я смог отсортировать этот файл, пытаясь получить путь к файлу и преобразовать его в растровое изображение, я смог взять capturedImage, представляющий собой ByteArray, и вместо этого преобразовать его в растровое изображение.

cameraBtn.setOnClickListener {
        println("Tony Took image 1")

        cameraKitView.captureImage { _, capturedImage ->
            //                    val savedPhoto = File(Environment.getExternalStorageDirectory(), "photo.jpg")
            try {
                println("Tony got to image 2")
                var bmp = BitmapFactory.decodeByteArray(capturedImage, 0, capturedImage.size)

                imageTook.setImageBitmap(
                    Bitmap.createScaledBitmap(
                        bmp,
                        imageTook.width,
                        imageTook.height,
                        false
                    )
                )
                println("Tony got to image 3 in try block")
            } catch (e: java.io.IOException) {
                println("Tony got to image 4 in catch block")
                e.printStackTrace()
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...