바코드 스캐닝 용 RedLaser 라이브러리 (내 생각에 Zxing이 내장되어 있음)를 사용하고 있습니다. 스캔 모드에서는 모든 것이 바코드로 스캔되지만 원하는 것은 아닙니다. 스캐닝 영역에 정렬 된 바코드 만 고려하고 나머지는 무시하는 것이 좋습니다.바코드 스캔 중 위치
내 자신의 앱에서 라이브러리를 구현 한 이후에 rediaser 샘플 앱은 스캔 액티브 레이아웃에 직사각형을 가졌지 만 화면의 모든 부분의 바코드를 스캔하여 고려했을 때 무시되었습니다. 샘플 앱으로
결론 : 나는 나의 스캐닝 활동이 현재 검출 된 바코드의 위치를 비교하고 그 다음은 읽지 않습니다 아닌 경우는의 "스캔 영역"의 범위 내에 있는지보고 싶어요.
은 다음 코드는 아무것도하지 않습니다 viewfinderView = findViewById(R.id.view_finder);
LayoutParams params = new LayoutParams((int)(mDisplay.getWidth() * .75f),
(int)(mDisplay.getHeight() * .33f));
params.gravity = Gravity.CENTER;
viewfinderView.setLayoutParams(params);
, 난 그냥 모든 작동 방법을 예시하기 위해 쓴 (: 여기
은 "스캔 영역"의 조정에 대한 코드입니다 barcodelocation과 같이 Redlaser 라이브러리 용 소스 파일이 없기 때문에). Set<BarcodeResult> allResults = (Set<BarcodeResult>) scanStatus.get(Status.STATUS_FOUND_BARCODES);
for(BarcodeResult s : allResults)
{
ArrayList<PointF> barcodelocation = s.barcodeLocation;
float x = barcodelocation.get(0).x;
float y = barcodelocation.get(0).y;
//there will be 4 points to each scanned barcode => 8 float's/barcode
}
긴 게시물에 대한 죄송합니다
,하지만 지금 잠시 동안이 문제에 봤는데 정말 붙어있어.
도움을 주시면 감사하겠습니다.