【问题标题】:How to retrieve the visible part of a SurfaceView in Android如何在 Android 中检索 SurfaceView 的可见部分
【发布时间】:2013-11-05 03:45:41
【问题描述】:

我有一个布局,其中顶部用于显示一些数据(例如简单的 UI 小部件),底部有一个 SurfaceView,我在其中显示一个 CameraPreview

为了让SurfaceView 扩展屏幕的整个宽度并同时保持正确的纵横比,SurfaceView 实际上会离开屏幕,这很好,因为我实际上希望应用程序在顶部和底部。

问题是我现在只想检索SurfaceView 的可见部分(最好是位图),但如果我尝试通过设置PictureCallBack 来实现,则返回的图片数据的纵横比为只是与 SurfaceView 中显示的不太一样(我已经尝试了所有可用的getSupportedPictureSizes)。

任何想法如何解决这个问题?我附上了一张可以更好地说明这个问题的图片。

【问题讨论】:

  • 你有解决方案吗?我也面临同样的问题

标签: android surfaceview


【解决方案1】:

https://code.google.com/p/zxing/downloads/list

它包含一个条形码扫描仪项目,因为他们使用了一个矩形并从表面视图中捕获特定区域,这对你很有用.. 希望他们使用 viewFinderView 类从表面捕获区域

【讨论】:

  • 谢谢,我看了一下,但是太复杂了。我最终做的实际上是直接使用 Camera.PreviewCallback 并从该方法提供的 byte[] 数据而不是 Camera.PictureCallback 中裁剪我需要的正确图像大小。
  • 如果其他人正在尝试解决类似问题,请告诉我,我会在此处发布代码。
  • 你能在这里分享你的代码吗?处理相同的问题。
猜你喜欢
  • 1970-01-01
  • 2016-12-28
  • 2013-09-29
  • 1970-01-01
  • 2012-11-09
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多