0

過去 2 日間検索しましたが、まだ成功していません。

私の場合、カメラのピクセル解像度/メガピクセルを確認したい。カメラの 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);

しかし、これはモバイルの画面解像度と同じ画像解像度のみを返しますが、モバイルカメラの解像度が必要です。

関連する回答を歓迎します。よろしくお願いします。

4

4 に答える 4

1

どうgetSupportedPictureSizes()ですか?

于 2013-06-20T04:52:48.487 に答える
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;

mg はメガピクセルです。

于 2013-06-20T04:52:52.777 に答える
0

最初に を使用して、カメラで使用できるサポートされている画像サイズを確認しCamera.Parametersます。getSupportedPictureSizes()Camera Parametersという関数があります。

例:

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

mList から、サポートされているすべての画像サイズを取得します。リストの最後のものは、可能な限り最大の解像度になります。

于 2013-06-20T04:56:00.717 に答える
0

ここからコードを試してください。バックカメラの解像度を mp で返します。getPictureSize の代わりに getSupportedPictureSize を使用する必要があります

https://stackoverflow.com/a/27000029/1554031

于 2014-11-18T17:58:06.803 に答える