2011-11-25 7 views
1

메신저로 사진을 찍을 수있는 앱을 개발 한 다음 백그라운드에서 작업을 수행합니다.하지만 문제가 발생하여 사진 크기가 하드 코딩되어 있습니다. 내가 사용하고있는 카메라와 다른 전화에서 오류를 일으키고있다. 카메라 크기를 지원하지 않는 휴대 전화로 가정한다.안드로이드 폰에서 카메라 해상도를 설정하십시오

나는 여기에 그것에 대해 읽었지만 모든 사람들이 getSupportedSizes 메서드를 사용하는 것입니다 막연한 대답은 막연하지만 나는 그걸로 뭘 해야할지 모르겠다.

모든 도움을 주시면 대단히 감사하겠습니다.

답변

6

다른 장치의 카메라가 매우 다른 해상도를 지원하기 때문에이 방법을 사용하는 것이 중요하므로 주어진 장치에서 사용할 수있는 해상도에서 원하는 해상도를 지정해야합니다.

의사 ....

Camera.Parameters cp = mCamera.getParameters(); 

    List<Size> sl = cp.getSupportedPictureSizes(); 

//now that you have the list of supported sizes, pick one and set it back to the parameters... 
    int w,h; 
    for(Size s : sl){ 
     //if s.width meets whatever criteria you want set it to your w 
     //and s.height meets whatever criteria you want for your h 
     w = s.width; 
     h = s.height; 
     break; 


    } 

    cp.setPictureSize(w, h); 

    mCamera.setParameters(cp); 

은 일반적으로 가장 중요한 것은 사진의 가로 세로 비율입니다. 따라서 w/h를 16 : 9 또는 4 : 3으로 비교 한 다음 지원되는 비율로 최고 (또는 두 번째로 높은) 품질을 찾으십시오. 분명히, 나는 당신의 요구가 무엇인지 모르기 때문에 어떤 크기가 주어진 기준을 실제로 충족시키는지를 결정해야 할 것입니다. 단순히 높은 품질을 원하고 가로 세로 비율에 신경 쓰지 않는다면 보통 크기 목록의 마지막 항목으로 나타납니다.

+0

메신저로 파일을 저장하는 메신저와 메신저 최대한 낮은 메모리를 차지하려고 메신저로 최저로 품질을 설정하는 메신저 –

+0

@ RoeyJamesSchumacher, 좋아 ... 글쎄, 난 당신에게 준 것 같아요 당신이 성취해야 할 정보. 목록에서 가장 낮은 숫자를 찾는데 도움이 필요합니까? –

+0

죄송합니다. 늦게 답장을 보내 주셨습니다. 매우 바빴지만 지금은 고맙습니다. 도와 주셔서 대단히 감사 드리며 도움을 드릴 수있어서 기뻐했습니다. –

관련 문제