2013-04-18 2 views
0

나는변경 기본 카메라 속성

Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(camera, TAKE_PICTURE); 

를 사용하여 내 응용 프로그램에서 사진을 촬영하고 웹 서버에 보내려고합니다. 웹 서버가 150 × 150 이미지 크기 이하 50킬로바이트의를로 압축하기 때문에, 나는 그것을 보내는 시간의 지옥이 많이 걸리기 때문에 일부 3264 × 2448 이미지 사이즈 ~ 2메가바이트를 취할 필요가 없습니다 이전. 최소 크기의 이미지를 찍고 싶습니다.

그래서 특정 크기의 이미지를 카메라에 요청하는 방법이 있습니까?

나는 그것의 속성을 카메라 API를 사용하여 변경하여 시도 :

private Camera mCamera; 

Camera.Size pictureSize = getSmallestPictureSize(mCamera 
       .getParameters()); 
     if (pictureSize != null) { 
      mCamera.getParameters().setPictureSize(pictureSize.width, 
        pictureSize.height); 
     } 

private Camera.Size getSmallestPictureSize(Camera.Parameters parameters) { 
     Camera.Size result = null; 

     for (Camera.Size size : parameters.getSupportedPictureSizes()) { 
      if (result == null) { 
       result = size; 
      } else { 
       int resultArea = result.width * result.height; 
       int newArea = size.width * size.height; 

       if (newArea < resultArea) { 
        result = size; 
       } 
      } 
     } 

     return (result); 
} 

문제는 내가 여전히 큰 이미지를 얻을 수있다. 그러나 실제 문제가 아니에요 : 나는 이것에 대한 미리보기를 사용하는 경우는이

enter image description here

이 허용되지 않음처럼 사용자가 미리보기를 회전,

, 줌 인/아웃 등

에서 실제 카메라 미리보기를 맞춤 매개 변수와 함께 사용하는 방법이 있습니까?

답변

0

일부 카메라는 가로 모드에서 이미지를 포착하기 시작합니다. 이것은 sdk 수준에서 해결할 수 있습니다, 그것은 CPU에 대한 런타임에 약간의 expensieve 것입니다,하지만 할 수 있습니다.

당신은 작은 크기 필요

-at SDK 레벨은 당신이 원래의 10 ~ 15 %로 캡처 한 이미지를 축소하는 파이프 라인을 구현을, 그것은 배터리를 소모하지만, 수행 할 수 있습니다. - ndk 수준에서 지원되는 각 카메라에 대한 사용자 지정 드라이버를 구현해야합니다 ...이 사용자 지정 드라이버의 경우 사용자 지정 소프트웨어도 구현할 수 있으며 모두 정상입니다.

+0

[this] (https://github.com/commonsguy/cw-advandroid/blob/master/Camera/Picture/AndroidManifest.xml) commonsware 데모에 따라. 매니페스트에서 방향은 가로로 설정됩니다. 이렇게하면 가로 모드에서만 이미지를 찍을 수 있도록 제한되며, 세로 모드에서 이미지를 찍으면 90도 회전 이미지가 표시 될 수 있습니다. 그래서, 사용자가 카메라 미리보기를 바꿀 수있게하는 방법이 있습니까? –

+0

설명서에 따르면 Java는 플랫폼에 독립적이며 안드로이드는 플랫폼에 독립적입니다. 실제로는 그렇지 않습니다. 고객/상사와의 계약에 따르면 버그없이 잘 작동하는 소프트웨어를 제작해야합니다. 비디오/오디오 물건 (매우) 플랫폼/장치 종속 : 테스트 및 8 장치에서 작동하지만 다음 2. 독립적 인 플랫폼의 신화와 문서화에 따르면 ... –