如何在android中捕获用户图像

时间:2011-06-23 12:12:01

标签: android

我要求如果用户点击“拍照”现在按钮,使用相机捕捉用户的图像并将其显示给用户。 任何人都可以提供示例代码吗?

由于

2 个答案:

答案 0 :(得分:1)

首先在按钮点击处理程序中创建一个Intent:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  

通常使用startActivity()方法启动Intent。但是,在这种情况下,您的应用程序希望等待并使用Camera图像捕获的结果。因此,您希望使用startActivityForResult()调用来发送Intent。这样,您可以检查结果并使用捕获的图像。

startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);  

调用startActivityForResult()方法时,将启动Activity。一旦该Activity完成,调用Activity将在其onActivityResult()处理程序中显示一个结果。因此,您需要在应用程序的Activity中实现onActivityResult()回调方法,如下所示:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    if (requestCode == CAMERA_PIC_REQUEST) {  
        // do something  
    }  
}  

是的,它又是:CAMERA_PIC_REQUEST。这是您需要在应用程序中定义的值,作为Camera图像捕获Intent返回的请求代码,如下所示:

private static final int CAMERA_PIC_REQUEST = 1337;  

从此返回的图像适合在小型设备屏幕上显示。它作为Android Bitmap对象直接导入结果:

Bitmap thumbnail = (Bitmap) data.getExtras().get("data");  

您对Bitmap对象的处理取决于您自己。在屏幕上显示它就像在ImageView上调用setImageBitmap()方法一样简单。

答案 1 :(得分:0)

我按照以下链接中描述的源代码来捕获图像。请尝试这样做:http://labs.makemachine.net/2010/03/simple-android-photo-capture/