我想拍摄照片并使用 android 相机将其保存到我的 SD 卡中。我知道这很容易,但我想以低分辨率存储图像,而不告诉用户去手动设置和设置低分辨率。
问问题
8607 次
4 回答
2
我要写的不是编写代码的好习惯,但它可能完全满足您的要求
- 像通常使用 android 默认相机一样捕获图像。
- 检查刚刚捕获的图像的路径。
- 使用BitmapFactory.Options calss根据要求降低该图像的质量并存储在位图对象中
- 删除默认相机捕获的原始图像
- 将该位图对象保存到具有相同文件名和路径的旧图像所在的 SD 卡
于 2013-08-14T09:57:12.203 回答
2
我知道这已经很晚了,但这适用于现在可能阅读此问题的人,您可以使用以下代码:
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);
于 2016-01-11T07:30:14.887 回答
1
使用它来捕获图像:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.ACTION_IMAGE_CAPTURE, preinsertedUri);
不要使用MediaStore.EXTRA_OUTPUT
,因为如果使用,图像会很大EXTRA_OUTPUT
于 2013-08-14T09:57:17.610 回答
1
自己实现一个相机应用程序。用于BitmapFactory
解码原始数据。通过BitmapFactory.Options
,您可以设置任何您想要的分辨率。
于 2013-08-14T09:56:05.223 回答