3

看起来在相机图像捕捉中,一个人只能捕捉缩略图或完整图像,但不能同时捕捉两者,因为

 public void startCamera() {
 ...
    camera.putExtra("output", imageUri); (step 1)
 ...

需要先声明

 ...
 startActivityForResult(camera, IMAGE_CAPTURE); (step 2)
 ...
    Bundle extras = camera.getExtras();
    mImageBitmap = (Bitmap) extras.get("data");
    imageView.setImageBitmap(mImageBitmap);
 ...

但是一旦“onActivityResult”返回,完整的图像已经保存到 imageUri 并且缓冲区被清除。但是要捕获所拍摄图像的缩略图,需要在“startActivityForResult”之后执行代码。问题是在步骤 2 中保存图像后,图像缓冲区被清除。要捕获图像缩略图,需要跳过在步骤 1 中保存完整图像,以便在步骤 2 中捕获缩略图图像。

我可以使用替代方法来保存完整图像,将完整图像重新加载到位图中,将图像缩放为缩略图大小并重新保存图像,但这似乎是多余的。知道我是否可以一次性完成这两项工作吗?

4

1 回答 1

1

查看 MediaStore.Images.Thumbnails,特别是 getThumbnail(靠近底部):http: //developer.android.com/reference/android/provider/MediaStore.Images.Thumbnails.html

如果这不起作用,是的,您必须自己手动重新缩放并保存缩略图。

于 2013-03-31T21:39:52.390 回答