2014-07-18 162 views
2

我正在定製相機。所以,當我從本機攝像頭捕獲圖像,它的大小1.76MB。但是,當我從捕獲它自定義相機它是977.86KB。我設置下列屬性相機...定製相機:圖片尺寸小

 Camera.Parameters parameters = mCamera.getParameters();   
     parameters.setPreviewSize(mPreviewSize.width, mPreviewSize.height); 
     parameters.setPictureSize(mPreviewSize.width, mPreviewSize.height); 
     parameters.setRotation(90); 
     parameters.setJpegQuality(100); 
     parameters.setPictureFormat(ImageFormat.JPEG); 

     android.util.Log.i(TAG, "####### setting FLASH_MODE_TORCH"); 
     parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); 
     parameters.setFocusMode("continuous-picture"); 

     if (parameters.getSupportedFocusModes().contains("continuous-picture")) { 
      parameters.setFocusMode("continuous-picture"); 
      mCamera.setParameters(parameters); 
     } else { 
      Log.i(TAG, "FOCUS MODE continuous-picture NOT SUPPORTED......!!!"); 
     } 

     mCamera.setParameters(parameters); 
     mCamera.setDisplayOrientation(90); 
     mCamera.setPreviewDisplay(mHolder); 
     mCamera.startPreview();  

那麼,問題出在哪裏?是否有任何財產/參數,我失蹤,但需要設置爲相機,以獲得預期的結果?

回答

0

您將圖片大小設置爲預覽大小。它不僅很小,甚至可能導致RuntimeException。

Camera.Parameters有一個單獨的getSupportedPictureSizes()方法。您應該選擇其中一種支持的圖片尺寸,並且除了一些非常奇怪的情況外,這將會起作用。

預覽尺寸也是如此。從getSupportedPreviewSizes()返回的列表中選擇最符合您期望的那個。此外,請注意,某些尺寸僅由前置攝像頭支持,部分尺寸僅由後置攝像頭支持。這意味着,您在之後從後面切換到前面,請致電getSupportedPictureSizes()

+0

我現在已經處理了getSupportedPreviewSizes()檢查後置和前置攝像頭。但是,我想要解決這個巨大差異(1.76MB - 977.86KB)的結果,並且對於定製相機,圖像也應該是1.76MB .... – Developer

+0

所以,你有正確的圖像resoultion,但JPEG的大小太小?這可能是由自動對焦,白平衡,HDR或效果引起的(儘管所有標準效果如[EFFECT_SEPIA](http://developer.android.com/reference/android/hardware/Camera.Parameters.html #EFFECT_SEPIA)_減小圖像大小)。 –

+0

**是的,我現在正確的圖像resoultion **,但JPEG的大小太小?我已經實現了自動對焦,但是**即使我正在實現自動對焦功能,如何將原始圖像尺寸保持爲1.76MB ???? ** – Developer