2014-11-19 2 views
3

빠른 질문이 있습니다. 안드로이드의 SurfaceView를 사용하여 사진을 찍고 저장합니다. 그러나 미리보기 크기와 화질 자체는 모두 끔찍합니다. 마찬가지로, 그것은 매우 흐릿합니다. 화질에는 전혀 선명도가 없습니다.Android SurfaceView 미리보기 흐림

    camera.setDisplayOrientation(90); 
        Parameters parameters = camera.getParameters(); 
        parameters.setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO); 
        parameters.setExposureCompensation(0); 
        parameters.setPictureFormat(ImageFormat.JPEG); 
        parameters.setJpegQuality(100); 

        Camera.Size picSize = getOptimalPreviewSize(parameters.getSupportedPreviewSizes(), 
          getResources().getDisplayMetrics().widthPixels, 
          getResources().getDisplayMetrics().heightPixels); 

        parameters.setPictureSize(picSize.width, picSize.height); 
        parameters.setPreviewSize(picSize.width, picSize.height); 

        camera.setParameters(parameters); 
        camera.setPreviewDisplay(holder); 
        camera.startPreview(); 

getOptimalPreviewSize은() parameters.getSupportedPreviewSizes에서 사용할 수있는 최적의 크기를() 반환 : 내 서피스 뷰 SurfaceView를 초기화 할 경우 다음

입니다. 반환하는 크기는 휴대 전화가 지원할 수있는 최상의 크기 인 1280x720입니다. 그러나 surfaceView는 여전히 매우 흐립니다. 분명히 내가하고있는 일이 잘못되었거나 표면을 최적화 할 수있는 방법이 있습니까? 감사.

답변

19

는 화면 크기 설정하고 미리보기 크기가 잘못 이미지 및 미리보기가 흐릿

1) 방식으로 나타날 수 있습니다 이유는 두 가지 이유가 있습니다. 지원되는 크기를 쿼리하고 가장 적합한 크기를 결정하고 보유하고있는 목록에서 크기를 설정해야합니다. 너는 중재 가치를 줄 수 없다. 구현 세부 정보는이 샘플 앱을 확인하십시오. https://github.com/josnidhin/Android-Camera-Example

2) 카메라를 자동 초점 모드로 설정하면 자동으로 초점을 맞 춥니 다. (적절한 UI로 집중하기 위해 터치를 구현하는 것이 더 좋습니다). 카메라가 단지

private void setCamFocusMode(){ 

    if(null == mCamera) { 
     return; 
    } 

    /* Set Auto focus */ 
    Parameters parameters = mCamera.getParameters(); 
    List<String> focusModes = parameters.getSupportedFocusModes(); 
    if(focusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)){ 
     parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE); 
    } else 
    if(focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)){ 
     parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO); 
    } 

    mCamera.setParameters(parameters); 
} 

아래의 설정이 시작되면 당신이 매니페스트

희망에 적절한 권한이 있는지 확인이

감사를하는 데 도움이, Shrish

+1

이 많이 도움이되었습니다. 감사. –

+0

포인트 2가 내 문제를 해결했습니다. 부탁드립니다. –