2011-03-22 4 views
1

Android에서 카메라 앱의 자체 버전을 구현했습니다. 모든 것은 내가 MyTouch의 4G와 그의 이미지는 사용자가 줄무늬를 의존하고있는 것을 제외하고 잘 작동하는 것 같다 및 엉망이 원인이 될 수 있는지에Android에서 카메라의 저장된 이미지에 밴딩

Image he gets from saving

어떤 아이디어? 이걸 본 사람 있어요?

다른 기기를 사용하는 사용자는 사진을 잘 찍고 있습니다.

편집 : 이제 장비에서 이런 현상이 발생했습니다. 사진을 찍을 때 화면 반 정도가 녹색으로 깜박입니다. 그런 다음 위 그림처럼 그림이 나옵니다. 바이트 []를 여러 가지 방법으로 저장하려고했습니다. 내가 얻는 데이터가 정말로 부패한 것 같습니다. jpeg onPictureTaken 콜백을 사용하고 그 바이트 []를 저장하고 있습니다. 그리고 다시. 몇 가지 MyTouch 4G 기기에서만이 문제를 볼 수있었습니다. 나는 정말로 여기의 손실에있다. 어떤 도움이 필요합니까?

답변

1

데이터를 복사 중이라며 각 행의 끝에 일부 픽셀이 누락되었을 수 있습니다. 어쩌면 너는 너의 계산에 너비가 틀렸어?

+0

또는 MyTouch 4G가 너비를 잘못보고 한 것 같습니다. 너비를 고정시킬 수 있습니까? – siliconeagle

+0

나는 폭을 다루지 않는다. 난 그냥 카메라의 onPictureTaken 콜백에서 데이터를 얻을. 방금 사진을 .png (내 휴대 전화에서는 정상적으로 작동 함)로 저장했지만 실제로 카메라 앱은 .jpg로 저장합니다. 베타 테스터에게 새 버전을 보냈습니다. 이 문제가 해결되면 내 결심을 게시 할 것입니다! – Brayden

+0

확실히 너에게 잘못된 너비 문제가 생겼다. 카메라를 설정하고 있습니까? 또한 메모리가 부족한 상태에서 이미지가 서브 샘플링되어 너비가 변경됩니다. – siliconeagle

1

HTC Thunderbolt를 사용하여 매우 비슷한 문제가 발생했습니다. PictureCallback.onPictureTaken()에서 이미지 데이터 바이트 []를 SD 카드에 직접 저장했습니다. SD 카드에서 이미지를 볼 때 동일한 밴딩 효과가 나타났습니다.

카메라 매개 변수에 previewSize를 설정한다는 것을 알았습니다. 이 코드를 제거하고 모든 미리보기 크기를 설정하지 않은

// Ensure that the camera resolution is a multiple of 8, as the screen may not be. 
// TODO: A better solution would be to request the supported preview resolutions 
// and pick the best match, but this parameter is not standardized in Cupcake. 
Point cameraResolution = new Point(); 
cameraResolution.x = (screenResolution.x >> 3) << 3; 
cameraResolution.y = (screenResolution.y >> 3) << 3; 
parameters.setPreviewSize(cameraResolution.x, cameraResolution.y); 

가, 내 이미지가 더 이상 줄무늬했다 :이 코드를 사용했다.

+0

이것에 대해 살펴 보겠습니다. 기본적으로 나는 포기했고 MyTouch 4G가 내 응용 프로그램에서 지원되지 않는다고 말했다. 하하. 그리고 가장 가까운 지원되는 크기를 기준으로 미리보기를 설정했습니다. 코드 위의 사용자 의견에 나와 있습니다. 미리보기 크기를 설정하지 않으면 어떻게되는지 알 수는 없지만 많은 휴대폰에서 충돌을 일으킬 것이라고 확신합니다. – Brayden

관련 문제