我目前正在使用一个意图来拍照,就像这样:
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);
我的问题是,这些方法能一起使用吗?还是只能选其一?哪种方法最适合我的需求?
我有一个用户个人资料图片96px x 96px的框。在用户拍照后,我希望图片填满整个框而不会被拉伸。最好的方法是在拍照时设置大小,还是在事后更改imageView
或bitmap
(或者其他方法...)?或者,我应该让用户进行裁剪,并定义裁剪区域的尺寸?
编辑:请参见悬赏问题以获取更新的问题。
Camera
拍照。前者是指其他应用程序代表您使用Camera
本身拍照。 - CommonsWare