zBarLibary
zBarLibary copied to clipboard
开启双识别引擎,二维码在扫描框内占满会无法识别,占据一半左右能识别,隔得远识别率高
zxing扫码近距离无法扫描,我将相机的分辨率取小一点皆可以了19201080,我取的小一号的1208720 if (maybeFlippedWidth < screenResolution.x && maybeFlippedHeight < screenResolution.y) { Point exactPoint = new Point(realWidth, realHeight); Log.i(TAG, "Found preview size exactly matching screen size: " + exactPoint); return exactPoint; }
@libin1993 你这里修改成小一号的进行识别,就修改了你代码贴出的这一处地方吗?
@libin1993 你这里修改成小一号的进行识别,就修改了你代码贴出的这一处地方吗?
不同手机相机分辨率宽高比和屏幕分辨率宽高比不一致,我是根据相机分辨率宽高比设置了CameraPreview的高度,否则预览界面会变形。 if (maybeFlippedWidth <1500){ Point exactPoint = new Point(realWidth, realHeight); Log.d(TAG, "Found preview size exactly matching screen size: " + exactPoint); return exactPoint; }
@Override protected void onResume() { super.onResume(); if (cpScan != null) { cpScan.setScanCallback(resultCallback); cpScan.start();
try{
//CameraPreview设置宽高
CameraManager cameraManager = cpScan.getmCameraManager();
Camera camera = cameraManager.getmCamera();
Camera.Parameters parameters = camera.getParameters();
Point screenResolutionForCamera = new Point();
screenResolutionForCamera.x = ScreenUtils.getScreenHeight();
screenResolutionForCamera.y = ScreenUtils.getScreenWidth();
Point bestPreviewSizeValue = CameraConfiguration.findBestPreviewSizeValue(parameters, screenResolutionForCamera);
ViewGroup.LayoutParams layoutParams = cpScan.getLayoutParams();
layoutParams.width = ScreenUtils.getScreenWidth();
layoutParams.height = ScreenUtils.getScreenWidth() * bestPreviewSizeValue.x / bestPreviewSizeValue.y;
LogUtils.log("sss" + layoutParams.width + "," + layoutParams.height);
cpScan.setLayoutParams(layoutParams);
}catch (Exception e){
}
}
}