java - 显示相机预览未全屏显示

标签 java android commonsware-cwac

我使用的是带摄像头的 S3。尺寸为 720*1280 与屏幕尺寸相同。

但是,相机表面仅如下图所示,未覆盖全屏(长度方向是,但不是宽度方向)

enter image description here

我尝试设置

  @Override
  public void onSurfaceTextureAvailable(SurfaceTexture surface,
                                        int width, int height) {
    this.surface=surface;

    cameraView.previewCreated();
    cameraView.initPreview(width, height);
  }

作为

cameraView.initPreview(720, 1280);

但效果微乎其微。

我的问题是,如何让它像相机应用程序一样扩展到全屏。这里发生了什么。

演示应用程序中出现相同的结果。在我的 HTC 中,结果更好,但仍然存在空间。

最佳答案

这正在按设计工作,尽管您想要的将在 0.6.0 版本中实现。

引用该项目即将发布的版本自述文件:

<小时/>

CameraFragmentCameraView 的默认行为是显示整个 预览,由底层 Camera API 提供。由于长宽比为 预览帧可能与CameraView的纵横比不同, 这会产生“信箱”效果,背景将透过 两侧各有一个轴。

如果你想让预览完全填满CameraView,代价是 裁剪掉一些实际的预览帧,让您的 CameraHostuseFullBleedPreview() 返回 true

请注意,本库拍摄的图片和视频不受 useFullBleedPreview()。因此,如果 useFullBleedPreview() 返回 true,则 图片或视频的边缘可能包含未包含的其他内容 在预览中可见。

<小时/>

useFullBleedPreview() 的支持将在库的 0.6.0 版本中提供,尽管它的源代码已推送到存储库并可在 master 中使用> 分支机构。欢迎您关注this issue以便进一步发展。

关于java - 显示相机预览未全屏显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21412219/

相关文章:

android - 尝试在 CWAC Touchlist 的演示中复制代码并在 Android 中出现错误

java - java程序可以用Cucumber测试吗?

java - 哪种列表实现最适合从前面和后面删除和插入?

java - 从智能卡读取证书

java - 如何对 Arraylist 进行排序以使特定项目位于顶部

java - 关闭一个 View 类并打开另一个 View 类

java - LocationPoller 和多个广播接收器

android - Android Endless Listview 的屏幕旋转

java - 在 GSON/Retrofit 2 中使用动态 key ?

android - 为 arm 交叉编译 e2fsprogs