2013-07-10 5 views
0

Probleme, 제 probleme Cwac-camera crash when picture taken 후 : 너무, 인물,하지만 캐치 프리 사진 :Cwac 카메라와 넥서스 S 초상화 - 이상한 비트 맵 크기 넥서스 S와

나는 screenOrientation 함께 사진을 코드 내 SimpleCameraHost 확장 클래스에서

에서 90 °

의 회전, 수신 된 비트 맵은 프리 이미지의 크기가

@Override 
public void saveImage(byte[] image) 
{ 
     Bitmap bitmap = BitmapFactory.decodeByteArray(image, 0, image.length); 
... 

LOG bitmap.getWidth => 2,560

LOG bitmap.getHeight => 1,920

답변

0

장치의 실제 방향과 일치한다 사진의 방향. IOW, 장치를 세로로 잡고 있으면 이미지가 세로 방향이어야합니다. 장치가 가로 방향으로 고정되어 있으면 이미지가 가로 방향이어야합니다. android:screenOrientation 값을 선택하거나 전혀 사용하지 않아도 결과에 영향을 주어서는 안됩니다. 이는 UI가 작동하는 방식에만 영향을 미칩니다.

방금 ​​Nexus S에서 테스트했는데 후면 카메라가 예상대로 작동합니다. 데모 응용 프로그램에 android:screenOrientation="portrait"을 추가했으며 세로 모드로 유지하면 사진이 세로로 저장되고 가로 모드로 유지되면 사진이 가로로 저장됩니다.

반대로 증거가 있다고 생각되면 오류를 재현하는 샘플 프로젝트를 만들고프로젝트에 게시하여 해당 샘플 프로젝트와 실행 단계를 게시하여 오류를 재현하십시오.


UPDATE

OK, 나는 지금 당신이보고있는 것을 이해 생각합니다. Bitmap.decodeByteArray()은 EXIF ​​헤더에주의를 기울이는 반면 많은 이미지 뷰어는 그렇지 않습니다. Nexus S는 지금까지 테스트 한 다른 삼성 기기와 다르게 작동하며 Nexus S 출력을 위해 이러한 헤더에서 약간의 정리 작업을 수행해야합니다. an issue about this을 추가 했으므로 곧이 문제를 해결할 수있게 될 것입니다.

BTW, 나는 또한 당신에게 다른 saveImage() 방법을 통해 Bitmap을 제공하기 위해이 byte[]을 디코딩하는 것을 방지하기 위해 an enhancement request을 기록했다.

+0

데모 프로젝트 -i는 ** saveImage() ** 기능을 무시합니다. 나는 같은 로그를 가지고있다. 2560 * 1920의 이미지 -in 640 * 480 이미지를 가로로 표시합니다. - 글꼴 방향 카메라를 사용하려는 경우 응용 프로그램 충돌이 발생합니다. –

+0

@DamienRomito : "글꼴 방향 카메라를 사용하려면 응용 프로그램이 중단됩니다"- 연결된 질문에 표시된대로 버그 : https://github.com/commonsguy/cwac-camera/issues/8 – CommonsWare

+0

@DamienRomito : 업데이트 된 답변보기. – CommonsWare