在相机图像捕获中,似乎只能在一次操作中捕获缩略图或完整图像,而不能同时捕获两者,因为
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中捕获缩略图像。
我可以使用替代方法来保存完整图像,重新加载完整图像到位图中,将图像缩放为缩略图大小并重新保存图像,但这似乎是多余的。有没有办法可以一次完成两个操作?