我搜索过去两天,但我还没有成功。
我的情况,我想检查相机像素分辨率/百万像素。如果相机的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 :(得分:1)
答案 1 :(得分: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;
毫克是你的百万像素。
答案 2 :(得分:0)
首先使用Camera.Parameters
检查相机支持的图片尺寸。相机参数中有一个名为getSupportedPictureSizes()
的功能。
例如:
List<Camera.Size> mList = mParams.getSupportedPictureSizes();
Camera.Size mSize = mList.get(mList.size() - 1);
从mList中获得所有支持的图片大小。列表中的最后一个将是最大的解决方案。
答案 3 :(得分:0)
尝试此处的代码。它为后置摄像头返回mp的分辨率。您应该使用getSupportedPictureSizes而不是getPictureSize