当前位置: 首页 > 知识库问答 >
问题:

如何获取相机捕获的原始图像的路径或uri。

弓磊
2023-03-14

如何获取相机捕获的原始图像的路径或uri。当我使用下面的代码时,它会返回google文档中提到的原始图像的缩略图。我想要原始图像的路径或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);

共有1个答案

姚自强
2023-03-14

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

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

除非通过EXTRA\u输出提供要使用的Uri,否则您不会这样做。

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

如果您不提供额外的\u输出动作图像捕获应该会给您一个缩略图。

我已经试过你说的这个方法了。。。它给出了一个错误

然后,也许你应该问一个单独的堆栈溢出问题,在这个问题中,你提供了你使用的代码,并详细解释了问题是什么。这个示例应用程序演示了ACTION_IMAGE_CAPTUREEXTRA_OUTPUT的使用。

画廊里有原始图像

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

当第三方应用程序对缩略图发出ACTION\u image\u CAPTURE请求时,相机应用程序无需将全尺寸图像写入磁盘。事实上,如果他们在这个场景中写出一个全尺寸的图像,我会认为这是一个错误。

 类似资料:
  • 我正在开发一个Android应用程序。它有一个功能,捕获的图像应该显示在屏幕上,我需要得到那个图像路径,这样我就可以把那个图像发送到服务器。 我可以在屏幕上显示图像,但无法获得绝对图像路径。 我得到的路径像: 如何获取实际图像路径? 这是我的密码: 值如上所示。 我如何从这个路径得到我的绝对图像路径。

  • 这段代码在Samsung tab中工作,但在Lenovo tab和i-ball tab中不工作。那么,有没有人能帮我找到另一种解决方法来做同样的事情呢?任何帮助都将不胜感激。谢谢你。 这是我的OnActivityResult:

  • 我在我的屏幕上有四个图像视图,从相机中捕获图像并显示在其中,现在我想将这些图像上传到服务器上。因此,我使用了下面的代码来获取它们的路径,但它通过了异常。是否有可能从摄像机拍摄的图像视图将图像上传到服务器(无需将图像存储到内存中)。

  • 我正在尝试使用cordova相机插件从画廊获取图像,这是我的方式: 但是在我的“成功”函数中,我得到格式为: 我想要具有图像完整路径的URI,就像我使用相机时得到它一样: 阅读官方文档,我看到我唯一应该做的就是将属性“DestinationType”设置为“FILE_URI”,正如您在上面所看到的。 我做错了什么?

  • 我制作了一个应用程序。它有两个上传照片的选项: 1) 用照相机拍照 2)从画廊采摘 我的问题是在activityresult中获取这些意图之后的文件路径。是否有任何方法可以为获取这些路径,这些路径也会考虑sdk级别的更改?例如,直到KitKat是文件系统的1种类型,KitKat之后是其他类型。

  • 问题内容: 有一个URL,如何检索其路径部分? http://www.costo.com/test1/test2 如何获得“ test1 / test2” 问题答案: 您想要这样的东西: 其实那会给你的。您只需要删除第一个即可获得所需的内容: 现在您将进入。