Как увеличить размер области сканирования в zxing
Hii все в настоящее время iam работает над сканированием qr-кода из моего приложения, и я использовал библиотеку zxing, и она работает хорошо, и моя проблема в моем galaxy S4 mobile область сканирования очень мала
пожалуйста, помогите мне
спасибо заранее
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-ширина.