Android 通过安卓内置摄像头拍摄图像,但不保存

Android 通过安卓内置摄像头拍摄图像,但不保存,android,bitmap,camera,built-in,Android,Bitmap,Camera,Built In,是否可以只捕获图像,但不保存图像,而是立即使用捕获的位图进行图像处理技术 我的观点是,这比读取保存的文件,然后将其转换为位图以便在图像处理中使用要容易得多 我已经在android中实现了内置摄像头。MediaStore.ACTION\u IMAGE\u CAPTURE将捕获的图片保存到磁盘。通常,意图允许您选择存储捕获图像的目录。您可以尝试使用/dev/null,但不能使用YMMV。请记住,意图返回到您的onActivityResult()的位图是一个小缩略图,用于显示在图像列表中。如果希望访问

是否可以只捕获图像,但不保存图像,而是立即使用捕获的位图进行图像处理技术

我的观点是,这比读取保存的文件,然后将其转换为位图以便在图像处理中使用要容易得多


我已经在android中实现了内置摄像头。

MediaStore.ACTION\u IMAGE\u CAPTURE将捕获的图片保存到磁盘。通常,意图允许您选择存储捕获图像的目录。您可以尝试使用
/dev/null
,但不能使用YMMV。请记住,意图返回到您的
onActivityResult()
的位图是一个小缩略图,用于显示在图像列表中。如果希望访问合理的分辨率,则需要读取保存的文件,或者实现自定义相机。请注意,出于许多目的,您根本不需要捕获图片,一些预览帧可能就足够了。大多数当前设备支持VGA(640x480)预览,许多现代设备支持高达1920x1080的预览分辨率。

以下是我要做的

   protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK)
        {
            Uri pictureUri = data.getData();
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), pictureUri);

getContentResolver().delete(Utils.pictureUri, null, null);
        }
    }

这里我做的是创建一个位图对象来保存当前图像。一旦你在位图中得到它。您可以删除该文件。我没有试过,但我认为这就是你想要实现的。

所谓“内置摄像头”,你可能指的是
MediaStore.ACTION\u IMAGE\u CAPTURE
intent,不是吗?是的,我是alex cohn。。我认为这是一个麻烦的保存,然后阅读该图像。为什么我不能在用内置相机拍摄完位图后就抓取它呢?嗯,所以我没有办法做我想做的事情。。我不想实施sa自定义摄像头,因为使用MediaStore.ACTION\u IMAGE\u CAPTURE Intential可以省去我向用户预览捕获图像的麻烦,而不是通过surfaceview实施新活动来预览捕获的图像。。你是说我应该用截图吗?如何从intent访问返回的位图?也许我可以试着玩一下..intent返回
数据
,这是一个非常粗糙的位图,请参见