【发布时间】:2019-08-12 13:21:16
【问题描述】:
我希望能够在预览时获得用于分析步骤的准确图像。 我有预览用例:
val metrics = DisplayMetrics().also { binding.codeScannerView.display.getRealMetrics(it) }
val screenAspectRatio = Rational(metrics.widthPixels, metrics.heightPixels)
val previewConfig = PreviewConfig.Builder().apply {
setTargetAspectRatio(screenAspectRatio)
}.build()
在它旁边我有分析用例配置:
val analyzerConfig = ImageAnalysisConfig.Builder().apply {
setTargetResolution(Size(metrics.heightPixels, metrics.widthPixels))
setTargetAspectRatio(screenAspectRatio)
val analyzerThread = HandlerThread(
"QrCodeReader").apply { start() }
setCallbackHandler(Handler(analyzerThread.looper))
setImageReaderMode(
ImageAnalysis.ImageReaderMode.ACQUIRE_LATEST_IMAGE)
}.build()
我的预览是全屏的,所以它的大小是 1440x2560。但是,如果我尝试在分析器中从 ImageProxy 获取尺寸,我会得到 1920x1050,它似乎有不正确的尺寸并且宽度随高度切换。为什么会这样?如何强制我的分析步骤具有与全屏相同的尺寸?
【问题讨论】:
-
有这个问题的机会吗?
-
当时我的camerax有太多其他问题,正如我在这里描述的:stackoverflow.com/questions/57472154/…所以我不再使用它了