如何同时捕获相机图像缩略图和完整图像

Posted

技术标签:

【中文标题】如何同时捕获相机图像缩略图和完整图像【英文标题】:How to capture camera image thumbnail and full image at the same time 【发布时间】:2013-03-31 19:25:15 【问题描述】:

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

 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 中捕获缩略图图像。

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

【问题讨论】:

我相信您注意到的行为并不普遍。我遇到了一些允许访问两者的设备,并没有破坏缩略图。 【参考方案1】:

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

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

【讨论】:

以上是关于如何同时捕获相机图像缩略图和完整图像的主要内容,如果未能解决你的问题,请参考以下文章

使用啥控件从相机捕获图像并在 ui 上显示为带有事件 xamarin ios 的缩略图

Bootstrap4缩略图和面板

如何显示尚未完全加载的图像的缩略图

用 jQuery 点击时用缩略图替换主图像

如何从 PHAsset 获取视频的缩略图?

如何从 Swift 中的 ALAssetRepresentation 获取低分辨率图像或缩略图