【问题标题】:How to get the path or uri of the original Image captured by the camera.如何获取相机捕获的原始图像的路径或uri。
【发布时间】:2018-01-09 11:35:43
【问题描述】:

如何获取相机拍摄的原始图像的路径或uri。 当我使用以下代码时,它会返回原始图像的缩略图图像,如谷歌文档中所述。 我想要原始图像的路径或 uri。

我使用了以下代码,但它返回一个缩略图。

Bundle extras = data.getExtras();
            Bitmap imageBitmap = (Bitmap) extras.get("data");

            // CALL THIS METHOD TO GET THE URI FROM THE BITMAP
            Uri tempUri = getImageUri(getApplicationContext(), imageBitmap);

            // CALL THIS METHOD TO GET THE ACTUAL PATH
            File finalFile = new File(getRealPathFromURI(tempUri));

            Intent intent = new Intent(IdentifyActivity.this, detailedActivity.class);
            intent.putExtra("PATH", finalFile.getPath());
            startActivity(intent);

【问题讨论】:

  • 通过相机打开意图的路径/uri,相机应用程序将图像存储在该路径上
  • @JaiprakashSoni 我已经试过你说的这个方法了。 stackoverflow.com/a/37349762/5097842,报错
  • MediaStore#ACTION_IMAGE_CAPTUREjavadocs
  • 你查过有没有原图吗?如果像您这样使用,许多相机应用程序不会生成图像文件。您最好以显示使用过的意图开始您的帖子。

标签: android image android-camera filepath


【解决方案1】:

您没有显示您使用的Intent。我假设它是ACTION_IMAGE_CAPTURE

如何获取相机拍摄的原始图片的路径或uri

您不需要,除非您提供 Uri 以通过 EXTRA_OUTPUT 使用。

当我使用以下代码时,它会返回缩略图图像

如果你不提供EXTRA_OUTPUTACTION_IMAGE_CAPTURE 应该会给你一个缩略图。

你说的这个方法我已经试过了。。。报错

那么也许您应该提出一个单独的 Stack Overflow 问题,在其中提供您使用的代码并详细解释问题所在。 This sample app 演示了 ACTION_IMAGE_CAPTUREEXTRA_OUTPUT 的使用。

图库中有原图

大约有 20 亿台 Android 设备,分布在大约 10,000 种设备型号中。有数十个(如果不是数百个)预装的相机应用程序。用户可以从 Play 商店和其他地方安装数十个(如果不是数百个)额外的相机应用程序。 您的请求可以由其中任何一个处理,因此不要假设一个相机应用的行为与所有应用的行为相同。

当第三方应用发出ACTION_IMAGE_CAPTURE 缩略图请求时,相机应用无需将全尺寸图像写入磁盘。事实上,如果他们在那种情况下确实写出完整尺寸的图像,我会认为这是一个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    • 2020-07-30
    相关资源
    最近更新 更多