我想使用Android相机拍摄照片并将其保存到SD卡中。虽然这很容易,但我希望以低分辨率存储图像,而不需要告诉用户手动设置低分辨率。
我想使用Android相机拍摄照片并将其保存到SD卡中。虽然这很容易,但我希望以低分辨率存储图像,而不需要告诉用户手动设置低分辨率。
我知道这已经很晚了,但是对于现在可能阅读这个问题的人来说,你可以使用以下代码:
Camera.Parameters parameters = mcamera.getParameters();
List<Camera.Size> sizes = parameters.getSupportedPictureSizes();
Camera.Size size = sizes.get(sizes.size()-1);
Log.d("Parth","Size : "+size.height+","+size.width);
Log.d("Parth","Sizes:"+sizes.toString());
parameters.setPictureSize(size.width,size.height);
mcamera.setParameters(parameters);
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.ACTION_IMAGE_CAPTURE, preinsertedUri);
MediaStore.EXTRA_OUTPUT
,因为如果使用EXTRA_OUTPUT
,图像的大小会变得很大。自己实现一个相机应用程序。使用BitmapFactory
来解码原始数据。通过BitmapFactory.Options
,你可以设置任何分辨率。