Как увеличить размер области сканирования в zxing

Hii все в настоящее время iam работает над сканированием qr-кода из моего приложения, и я использовал библиотеку zxing, и она работает хорошо, и моя проблема в моем galaxy S4 mobile область сканирования очень мала enter image description here

пожалуйста, помогите мне

спасибо заранее

4 ответов


на CameraManager класс имеет две константы, определенные MIN_FRAME_WIDTH и MIN_FRAME_HEIGHT. Вы должны изменить их по желанию, и все должно работать:

private static final int MIN_FRAME_WIDTH = 240;  // (your desired value here)
private static final int MIN_FRAME_HEIGHT = 240; // (your desired value here)

Я знаю, что слишком поздно, но помощь для других просто перейдите в класс camera manager и вставьте этот код при замене данного метода он работает для всех типов экранов

    public Rect getFramingRect() {
    if (framingRect == null) {
    if (camera == null) {
    return null;
    }
    Point screenResolution = configManager.getScreenResolution();
    int width = screenResolution.x * 3 / 4;

    int height = screenResolution.y * 3 / 4;
    Log.v("Framing rect is : ", "width is "+width+"   and height is "+height);
    int leftOffset = (screenResolution.x - width) / 2;
    int topOffset = (screenResolution.y - height) / 2;
    framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height);
    Log.d(TAG, "Calculated framing rect: " + framingRect);
    }
    return framingRect;
   }

public Rect getFramingRect() {
if (framingRect == null) {
  if (camera == null) {
    return null;
  }
  Point screenResolution = configManager.getScreenResolution();
        int screenx = screenResolution.x;
        int screeny = screenResolution.y;
        int width, height, left, top;
        if (screenx > screeny) {
            width = (int) (screenx * 12.5 / 100);
            height = (int) (screeny * 25 / 100);
            left = (int) screenx * 83 / 100;
            top = (int) screeny * 75 / 100;
        } else {
            left = (int) (screenx * 12.5 / 100);
            top = (int) (screeny * 25 / 100);
            width = (int) screenx * 83 / 100;
            height = (int) screeny * 75 / 100;
        }
  framingRect = new Rect(left,top, width, height);

  Log.d(TAG, "Calculated framing rect: " + framingRect);
}
return framingRect;
}

замените приведенный выше код в CameraManager.Java-файл это сработало для меня попробовать это


Если вы вызываете это из другого приложения для android, используйте intent extras SCAN_WIDTH и SCAN_HEIGHT для этого.

Если вы используете phonegap-plugin-barcodescanner (3.0.0 или более поздней версии), то передаете те же намерения, что и xxxxx.сканирование (onSuccessFunc, onFailFunc, {SCAN_HEIGHT:111,SCAN_WIDTH: 222}) даст тот же результат. 111-высота, 222-ширина.