余晖与雨 2024-03-27 16:57 采纳率: 59.6%
浏览 6
已结题

安卓 camera预览问题

img

img


如上两图,可看出区别,同等焦距下,全屏模式下图放大了,尽管原相机如此,我们也希望最终效果是不放大的,也就是像最上图4:3的大小,请问有什么方法可以修改吗,相机初始化如下,欢迎给出见解与建议,一定会采纳的


private fun startCamera() {
        // 创建一个用于管理相机生命周期的实例
        val cameraProviderFuture = ProcessCameraProvider.getInstance(this)

        cameraProviderFuture.addListener({
            // 相机提供者可用时执行以下代码

            // 获取相机提供者
            val cameraProvider: ProcessCameraProvider = cameraProviderFuture.get()
            val aspectRatio = Rational(4,3) // 设置宽高比为 3:4

            // 配置相机预览的显示
            val preview = Preview.Builder()
                .setTargetAspectRatio(AspectRatio.RATIO_4_3)
                .build()
                .also {
                    it.setSurfaceProvider(mDatabind.viewFinder.surfaceProvider)
                }
            //不做放大效果  Fit_center中心不变,边边裁剪
            //            Fill_center 尽量填满
//            mDatabind.viewFinder.scaleType = PreviewView.ScaleType.FILL_CENTER
            // 配置图像捕获用于拍照
            imageCapture = ImageCapture.Builder()
                .setTargetAspectRatio(AspectRatio.RATIO_4_3)
                .build()

            // 设置相机的配置
            val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA

            try {
                // 解绑之前绑定的用例
                cameraProvider.unbindAll()

                // 绑定相机用例
                cameraProvider.bindToLifecycle(
                    this, cameraSelector, preview, imageCapture
                )

            } catch (exc: Exception) {
                // 处理相机启动失败的异常
            }

        }, ContextCompat.getMainExecutor(this))
    }
  • 写回答

4条回答 默认 最新

  • 小驰行动派 2024-03-27 20:34
    关注

    可以查下原生相机下发的流分辨率分别是多少,你的app也设置成同样的分辨率试下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月4日
  • 已采纳回答 3月27日
  • 创建了问题 3月27日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价