2013-06-20 45 views
0

我搜索了過去兩天,但我還沒有成功。以編程方式查找手機的相機像素

我的情況,我想檢查相機的像素分辨率/百萬像素。如果相機的Mp超過4,那麼我需要重新調整大小並上傳。

這裏是我的代碼:

//to check the resolution 

Camera mcamera ; 

mcamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_BACK); 

Camera.Parameters param = mcamera.getParameters(); 
Camera.Size size = param.getPictureSize(); 

cam_height = size.height ; 
cam_width = size.width ; 

mcamera.release(); 

// my functionality 

BitmapFactory.Options resample = new BitmapFactory.Options(); 
if(cam_height > pict_height || cam_width > pict_width) 
    resample.inSampleSize = 2; // whatever number seems appropriate 2 means 1/2 of the original 
else 
    resample.inSampleSize = 1; 

capturedimg = BitmapFactory.decodeFile(fileUri.getPath() , resample); 
resized_uri = bitmaptouri(capturedimg); 

但這僅返回畫面分辨率是一樣的手機的屏幕分辨率,但我想移動攝像機的分辨率。

歡迎任何相關的答案,在此先感謝。

+0

檢查http://stackoverflow.com/questions/6952469/determining-camera-resolution-ie-megapixels-programatically-in-android – 2013-06-20 04:42:58

+0

我嘗試過,我有也發佈了代碼。它沒有工作。 – VIGNESH

+0

你的意思是百萬像素。 – Riser

回答

1

先找高度和寬度如下:

android.hardware.Camera.Parameters parameters = camera.getParameters(); 
android.hardware.Camera.Size size = parameters.getPictureSize(); 


int height = size.height; 
int width = size.width; 

然後用下面的公式得到萬像素:

int mg = height * width/1024000; 

哪裏毫克是你的萬像素。

+0

這將返回屏幕分辨率/百萬像素而不是移動相機。我檢查了它。 – VIGNESH

0

首先使用Camera.Parameters檢查可用於相機的支持的圖片尺寸。攝像機參數中有一個稱爲getSupportedPictureSizes()的功能。

對於e.g:

List<Camera.Size> mList = mParams.getSupportedPictureSizes(); 
Camera.Size mSize   = mList.get(mList.size() - 1); 

從mList你會得到所有支持的圖片尺寸。列表中的最後一個將是最大可能的解決方案。

相關問題