2013-05-12 5 views
2
나는 안드로이드 태블릿에 zxing 바코드 스캐너 전면 카메라를 사용하는 것을 시도하고있다

- 작동하도록, 내가 한 아래의 변경 :Zxing 전면 카메라 미러 이미지 문제

1) GingerbreadOpenCameraInterface.java

// if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) { 
     if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) { 

2) CameraManager.java

// return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, 
//          rect.width(), rect.height(), false); //changed false to true below 
     return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, 
             rect.width(), rect.height(), true); 

3) CameraConfigurationManager.java :

또한 AndroidManifest.xml에있는
camera.setDisplayOrientation(180); // added to rotate the image by 180 degrees as it ws already flipped once had changed to frontcamera 

4)이 잘 스캔되지만 모멘트가 스캔 프리뷰 화상의 마지막 몇 초를 표시

<uses-feature android:name="android.hardware.camera" android:required="false"/> 
    <uses-feature android:name="android.hardware.camera.front" android:required="false"/> 
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/> 
    <uses-feature android:name="android.hardware.camera.flash" android:required="false"/> 
    <uses-feature android:name="android.hardware.screen.landscape"/> 
    <uses-feature android:name="android.hardware.wifi" android:required="false"/> 
    <uses-feature android:name="android.hardware.touchscreen" android:required="false"/> 

, 거기에는 반전 이미지를 나타낸다.)

1) 어떻게 정상

2 최종 미리보기 반전 이미지를 변경하기 위해 제거 할 수있는 방법이 있나요 : 누군가가 도울 수 있다면 여기 http://i.imgur.com/gIvXy52.png

그래서 내가 질문 아래에있는 스냅 샷에 대한 링크입니다 그것은 캡처 된 이미지의 마지막 몇 초를 보여주는 부분입니다.

+0

앞 카메라에서 QR 코드를 스캔 했습니까? 좀 도와 주실 래요. 나는 거기에서 고투하고있다. –

답변

0

실제로 앞면 카메라에서 이미지 데이터를 뒤집고 싶지는 않습니다. 카메라에 표시되는 방식으로 앱에 표시됩니다. 안드로이드가 SurfaceView에 이미지를 던져 넣을 때, 더 직관적이기 때문에 이미지를 미러링합니다. 그러나 코드에서 미러링 할 필요는 없으며 미러링해서도 안됩니다. 그 깃발은 내가 올바르게 기억한다면 이런 식으로 작동하지 않는 장치가있을 때가 있습니다.

마치 바코드 스캐너와 통합하려는 것 같습니다 (Intent)? 이미지를 올바르게 보여주기 때문에이 부분을 제어 할 수 없습니다. 그런 다음이 목록 항목 중 필요한 항목이 없습니다.

이것이 모두 포함 된 코드 인 경우 사용자가 표시 한 내용이므로 Intent에 응답하는 경로가 왜 트리거되는지 이해할 수 없습니다. 그것은 더 많은 우려를 제기합니다. 우리의 의도에 응답하는 앱을 작성하고 있습니까? 그건 나쁘다, 그것은 우리의 애플 리케이션 inteferes. UI를 복제하고 있습니까? 그것은 오픈 소스 라이센스에 의해 OK가 아닙니다.

가장 좋은 점은 자신의 UI를 작성하고 필요한 부분 만 재사용하고 어떻게 작동하는지 잘 아는 것입니다. 그런 다음 어쨌든이 혼란을 피할 수 있습니다.

+0

답변에서 숀 감사합니다.하지만 당신이 위에서 언급 한 플래그는 무엇인지 이해해야합니다. 또한 미안하지만 나는 의도의 개념을 이해하지 못합니다 (모든 문서는 정말 도움이 될 것입니다). 또한 가능하면 something.Also를 복제 한 직후에 몇 초 동안 이미지의 스냅 샷을 보여주는 부분을 완전히 제거 할 수있는 방법이 있습니까? 또한 UI를 복제하려고하지 않고 Open Source Concept을 존중하고 실제로 수행 한 작업에 진심으로 감사드립니다. 전체 Zxing 팀에 의해. – UberNeo

+0

깃발은 위에서 변경 한 불린 매개 변수입니다. 스크린 샷에서는 Intent로 바코드 스캐너를 호출하는 모습을 보여줍니다. 그렇지 않으면 해당 UI 화면을 다시 사용 중입니다. 너의 앱이야 ... 너 몰라? 이것은 일반적으로 사람들이 앱을 복사하여 붙여 넣을 때 발생합니다. 앱에서 우리를 방해하는 항목을 선언하도록하기 때문에이를 방지해야합니다. 귀하는 UI에 대한 상표권도 부여받지 못합니다. 나는 오른발에서 시작할 것입니다.자신 만의 앱을 작성할 수 없다면 Intent로 우리를 사용하십시오. –

+0

저는 zxing 라이브러리를 사용하여 https://github.com/phonegap/phonegap-plugins/tree/master/Android/BarcodeScanner를 사용하여 바코드 스캐닝 앤드 로이드 앱을 만드는 방법을 배우려고합니다. 라이센스는 문제입니다 .. Zxing 팀의 열심히 노력하니 제 의도는 정말로 오른발에서 시작하고 옳은 일을합니다 .. 그래서 어떤 방법 으로든 MIT에 언급 된 내 앱에 내장 된 바코드 스캐너를 사용할 수 있습니까? 내가 언급 한 위의 링크와 함께 제공되는 라이센스 .. 제발 나를 수정하십시오 만약 내가 뭔가를 여기에 누락되었습니다 .. – UberNeo

관련 문제