gpt4 book ai didi

java - 从 vision api 预览条形码扫描器的大小

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:44 24 4
gpt4 key购买 nike

我正在使用 Google 的 Android Vision API 中的条形码阅读器示例。预览大小似乎没有填满整个可用空间(我使用的是 Nexus 4,预览右侧有一个白色未使用的空间,大约是宽度的 1/3)。

我希望能够在各种设备上运行这个例子,并且总是让它填满整个可用空间。

所以我一直在玩的是:

CameraSource.Builder builder = new CameraSource.Builder(getApplicationContext(), barcodeDetector).setFacing(CameraSource.CAMERA_FACING_BACK).setRequestedPreviewSize(?, ?).setRequestedFps(15.0f);

有什么想法吗?

谢谢!

最佳答案

只需从 CameraSourcePreview 类中删除或注释下面的代码

if (childHeight > layoutHeight) {
childHeight = layoutHeight;
childWidth = (int)(((float) layoutHeight / (float) height) * width);
}

并在此循环中使用 layoutHeight 而不是“CameraSourcePreview”类的 childHeight - for (int i = 0; i < getChildCount();++i){...}

if (mCameraSource != null)
{
Size size = mCameraSource.getPreviewSize();
if (size != null)
{
width = size.getWidth();
height = size.getHeight();
}
}

// Swap width and height sizes when in portrait, since it will be rotated 90 degrees
if (isPortraitMode())
{
int tmp = width;

//noinspection SuspiciousNameCombination
width = height;
height = tmp;
}

final int layoutWidth = right - left;
final int layoutHeight = bottom - top;

// Computes height and width for potentially doing fit width.
int childWidth = layoutWidth;
int childHeight = (int) (((float) layoutWidth / (float) width) * height);

for (int i = 0; i < getChildCount(); ++i)
{
getChildAt(i).layout(0, 0, childWidth, layoutHeight);
}

try
{
startIfReady();
}
catch (SecurityException se)
{
Log.e(TAG, "Do not have permission to start the camera", se);
}
catch (IOException e)
{
Log.e(TAG, "Could not start camera source.", e);
}
}

关于java - 从 vision api 预览条形码扫描器的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32999813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com