5

我正在开发一个使用 ZBar 作为 QR 码库的 Android 应用程序,事情进展顺利。然而,现在我正在为应用程序构建界面,它要求我在屏幕底部仅显示相机馈送的特定部分,如下所示:

在此处输入图像描述

下面的相机视图应该是全尺寸的,即裁剪视图而不是调整大小的视图。然而,设置 FrameLayout 的宽度和高度会导致它调整整个图像的大小并将其压缩到小框架中。

有没有办法裁剪它?我知道我可能会在原始图像上放置一个叠加层,但是如何在中间创建一个透明正方形来显示我需要的内容?此外,QR 阅读器会捕捉到相机捕获的任何内容,所以如果用户带上 QR 码在相机前面并且它在“屏幕外”捕获它(由覆盖层实际覆盖的部分),这将是非常混乱的。

所以我想我要说的是,我不能使用叠加层来“裁剪”图片。还有其他方法吗?

4

2 回答 2

0

据我所知,无法裁剪相机视图,但您可以做的是重新调整框架大小,然后捕获图像。

我仍然建议参考这篇文章

于 2013-07-04T04:14:36.780 回答
0

想到的第一个想法是将您CameraPreview的视图放在FrameLayout. 然后在视图顶部添加更多CameraPreview视图以隐藏您不希望可见的部分。

或者也许只有一个视图使用 PNG 叠加相机预览视图,该视图覆盖所有“裁剪”区域设置为透明的内容。

于 2013-07-04T04:15:04.287 回答