从相机拍摄原始照片

Taking raw pictures from the camera

所以,我正在尝试使用闪光灯从 phone 的后置摄像头拍照,但在调用 captureImage 时看起来像 camerakit 库 returns 一个字节数组,

我不确定它们是 jpeg 还是原始字节(我想要的),我尝试的另一件事是使用 camera2 API 但看起来很复杂(也不确定这是否是正确的方法)并且我找不到原始格式的好教程,只有 jpeg。

有人可以帮助我提供教程、示例或建议以继续吗?

示例项目见:Raw-Dumper

用相机意图拍照给出一个字节数据作为结果。

幸运的是,从字节转换为位图并不难。

开始相机意图

private fun dispatchTakePictureIntent() {
    Intent(MediaStore.ACTION_IMAGE_CAPTURE).also { takePictureIntent ->
        takePictureIntent.resolveActivity(packageManager)?.also {
            startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE)
        }
    }
}

拍照后得到结果

  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    if(requestCode == REQUEST_IMAGE_CAPTURE && resultCode == Activity.RESULT_OK) {
        val bitmap = data?.extras?.get("data") as Bitmap
        imageView.setImageBitmap(bitmap)
    }
    super.onActivityResult(requestCode, resultCode, data)
}

注意:

imageView = setImageBitmap(bitmap)  

imageView 是我的 imageView in layout

参考: https://developer.android.com/training/camera/photobasics

https://github.com/android/camera-samples/tree/master/Camera2Formats 是用于捕获 RAW 缓冲区的官方 camera2 示例。

它以 Adob​​e DNG 格式保存它们。