优化TargetSize

This commit is contained in:
Jenly
2021-04-12 11:16:43 +08:00
parent ee5b2c6768
commit d5c413fe56
2 changed files with 14 additions and 4 deletions

View File

@@ -155,10 +155,20 @@ public class DefaultCameraScan extends CameraScan {
LogUtils.d(String.format("screenSize: %d * %d",mScreenWidth,mScreenHeight)); LogUtils.d(String.format("screenSize: %d * %d",mScreenWidth,mScreenHeight));
//因为为了保持流畅性和性能限制在1080p在此前提下尽可能的找到屏幕接近的分辨率 //因为为了保持流畅性和性能限制在1080p在此前提下尽可能的找到屏幕接近的分辨率
if(mScreenWidth < mScreenHeight){ if(mScreenWidth < mScreenHeight){
float ratio = mScreenWidth / (float)mScreenHeight;
if(ratio > 0.7){//一般应用于平板
mTargetSize = new Size(mScreenWidth,mScreenWidth / 3 * 4);
}else{
mTargetSize = new Size(mScreenWidth,mScreenWidth / 9 * 16); mTargetSize = new Size(mScreenWidth,mScreenWidth / 9 * 16);
}
}else{
float ratio = mScreenHeight / (float)mScreenWidth;
if(ratio > 0.7){//一般应用于平板
mTargetSize = new Size(mScreenHeight / 3 * 4, mScreenHeight);
}else{ }else{
mTargetSize = new Size(mScreenHeight / 9 * 16, mScreenHeight); mTargetSize = new Size(mScreenHeight / 9 * 16, mScreenHeight);
} }
}
mBeepManager = new BeepManager(mContext); mBeepManager = new BeepManager(mContext);
mAmbientLightManager = new AmbientLightManager(mContext); mAmbientLightManager = new AmbientLightManager(mContext);
@@ -237,7 +247,8 @@ public class DefaultCameraScan extends CameraScan {
mCameraProviderFuture.addListener(() -> { mCameraProviderFuture.addListener(() -> {
try{ try{
Preview preview = mCameraConfig.options(new Preview.Builder()); Preview preview = mCameraConfig.options(new Preview.Builder()
.setTargetResolution(mTargetSize));
//相机选择器 //相机选择器
CameraSelector cameraSelector = mCameraConfig.options(new CameraSelector.Builder()); CameraSelector cameraSelector = mCameraConfig.options(new CameraSelector.Builder());

View File

@@ -41,7 +41,6 @@ public abstract class AreaRectAnalyzer extends ImageAnalyzer {
@Nullable @Nullable
@Override @Override
public Result analyze(byte[] data, int width, int height) { public Result analyze(byte[] data, int width, int height) {
LogUtils.d(String.format("width:%d, height:%d",width,height));
if(mDecodeConfig != null){ if(mDecodeConfig != null){
if(mDecodeConfig.isFullAreaScan()){ if(mDecodeConfig.isFullAreaScan()){
//mDecodeConfig为空或者支持全区域扫码识别时直接使用全区域进行扫码识别 //mDecodeConfig为空或者支持全区域扫码识别时直接使用全区域进行扫码识别