我目前正在使用意图拍照,如下所示:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
intent.putExtra("return-data", true);
startActivityForResult(intent, CAMERA_REQUEST);
但我确实需要将图像大小设置为尽可能接近正方形。因此,经过研究,您似乎需要执行以下操作:
Camera camera = Camera.open();
Parameters params = camera.getParameters();
List<Camera.Size> sizes = params.getSupportedPictureSizes();
// Once you will see the supported Sizes, you can define them with the method :
setPictureSize(int width, int height);
我的问题是,这些是一起工作还是非此即彼?哪种方法最适合我的需求?
同样,我有 96 像素 x 96 像素的用户资料图片框。用户拍照后,我希望图像填充整个框而不拉伸。最好的方法是在拍摄照片时设置尺寸,还是在事后更改imageView
或(或...?)?bitmap
或者,我应该让用户裁剪图片,然后我可以定义裁剪区域的尺寸吗?
编辑:请参阅赏金以获取更新的问题。