Android zxing二维码使用及修改小结

在前人的基础上修该的zxing二维码的使用,及在使用过程中遇到的问题的解决方案。
1.修改扫描区域大小在com.google.zxing.camera.CameraManager.java 中 public Rect getFramingRect(){}方法中修改扫描区域大小,使用了屏幕宽度的70%作为扫描区,可自行修改。
2.扫描区域景象被拉伸,拉伸修正。
com.google.zxing.camera.CameraConfigurationManager.java 中 void initFromCameraParameters(Camera camera) {}方法中修改,在方法末尾添加以下代码片段:

 //图片拉伸解决
    Point screenResolutionForCamera = new Point();
    screenResolutionForCamera.x = screenResolution.x;
    screenResolutionForCamera.y = screenResolution.y;
    // preview size is always something like 480*320, other 320*480
    if (screenResolution.x < screenResolution.y) {
      screenResolutionForCamera.x = screenResolution.y;
      screenResolutionForCamera.y = screenResolution.x;
    }

    cameraResolution = getCameraResolution(parameters, screenResolutionForCamera);
3.扫描使用提示文本位置修改,例如:"将二维码/条形码放入扫描区,自动扫描"
ViewfinderView.java 中 private void drawTextInfo(Canvas canvas, Rect frame) {}中修改文本绘制的位置

4.扫描区域扫描线样式更改。
ViewfinderView.java 中 private void drawLaserScanner(Canvas canvas, Rect frame) {}中修改扫描线的样式。注意若使用paint.setShader(Shader shader) 方法,一定要在绘制完成后调用paint.setShader(null)。以免绘制信息出错。

本文需结合上一篇使用。若有问题欢迎指正!!!

 
 

你可能感兴趣的:(android,zxing二维码问题解决方法集)