在相机图像捕捉中,人们只能捕捉缩略图或完整图像,但不能同时捕捉两者,因为
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中捕获缩略图图像。
我可以使用替代方法来保存完整图像,将完整图像重新加载到位图中,将图像缩放为缩略图大小并重新保存图像,但这似乎是多余的。不知道我是否可以一次性完成这两项工作?
答案 0 :(得分:1)
查看MediaStore.Images.Thumbnails,特别是getThumbnail(靠近底部):http://developer.android.com/reference/android/provider/MediaStore.Images.Thumbnails.html。
如果这不起作用,是的,您必须自己手动重新缩放并保存缩略图。