2013-10-18 32 views
1

我正在開發一個android自定義相機應用程序,而不使用內置意圖。我現在用的是下面的代碼地表變化Android自定義相機應用程序圖像分辨率問題

public void surfaceChanged(SurfaceHolder sHolder, int format, int width, int height) 
    { 
     if (isPreview) 
     { 
      try 
      { 
       camera.stopPreview(); 
       isPreview = false; 
      } 
      catch (Exception e) 
      { 
      Log.e(TAG, "surfaceChanged", e); 
      } 
     } 

     try 
     { 
       Camera.Parameters p = camera.getParameters(); 
       p.setPreviewSize(surface.getWidth(), surface.getHeight()); 
       camera.setParameters(p); 

     } 
     catch (Exception e) 
     { 
      Log.e(TAG, "surfaceChanged", e); 
     } 


     try 
     { 
       camera.setPreviewDisplay(holder); 
     } 
     catch (IOException e) 
     { 
       e.printStackTrace(); 
     } 
     camera.startPreview(); 
     isPreview = true; 

    } 

但使用我的自定義相機應用上面的代碼後,相對於圖像分辨率是非常低的內置攝像頭的應用程序,雖然我沒有設置任何決議明確在我的代碼中。沒有得到我要去的地方錯了!請幫忙!謝謝!

回答

2

使用getSupportedPictureSizes()Camera.Parameters找到你想要的大小,或使用該信息來填充一個ListView或微調

檢查this了...這一定會幫助你

+0

我能找到SupportedPicture設備的大小。但是,在設置圖片尺寸的同時,該設備的圖片尺寸分辨率最低。請問您可以如何將圖片尺寸設置爲該設備可用的最高分辨率? – sanjana

+0

看看[this](http://android-er.blogspot.in/2012/08/determine-best-camera-preview-size.html) 'getbestpreviewsize' –