ZXing改为竖屏后会有二维码拉伸问题,网上多数方法修改后会导致近距离识别慢的问题,还有些近距离识别的修改方法会导致拉伸。
踩了多个坑后,找到下面的修改方法,对本人有效:
原博地址
ZXing版本:3.2.1(非当前版本未必有效)
主要修改CameraConfigurationManager中的getCameraResolution方法:
private static Point getCameraResolution(Camera.Parameters parameters, Point screenResolution) {
List<Camera.Size>list= parameters.getSupportedPreviewSizes();
Collections.sort(list, new Comparator<Camera.Size>() {
@Override
public int compare(Camera.Size lhs, Camera.Size rhs) {
// TODO Auto-generated method stub
if (lhs.width-rhs.width==0) {
return lhs.height-rhs.height;
}
return lhs.width-rhs.width;
}
});
for (Camera.Size size : list) {
System.out.println(size.width+" "+size.height);
if (Math.abs( size.width*1.0/size.height - 1.0*screenResolution.y/screenResolution.x )<0.1) {
return new Point(size.width, size.height);
}
}
return new Point(list.get(0).width, list.get(0).height);
}
网友评论