2013-07-08 40 views
0

我想知道是否可以使用相机拍摄图像,然后在我的应用程序背景中使用该图像。我可以在应用程序中拍摄和预览图像,但不知道如何将该数据传递给将其设置为背景图像的类。有没有一种动态的方式来获得这张照片,并将其设置为我的应用程序的背景?拍一个图像,并设置为Android的背景?

+0

阅读此:http://stackoverflow.com/questions/5991319/capture-image-from-camera-and-display-in-activity –

+0

谢谢,但我如何设置该图像为我的应用程序内的背景,而不仅仅是预览拍摄的图像? – user2561473

+0

您需要启动新的Camera Intent后,您需要获取图像。 –

回答

0

要启动照相机意图:

... 
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
activity.startActivityForResult(takePictureIntent, PHOTO_ACTIVITY_REQUEST_CODE); 
... 

哪里PHOTO_ACTIVITY_REQUEST_CODE仅仅是一个整常数活动中是唯一的,同时起始结果意图被用作请求代码。

以接收照片在onActivityResult,和更新视图

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == PHOTO_ACTIVITY_REQUEST_CODE && data != null) { 
     Bundle extras = data.getExtras(); 
     if (extras != null) { 
      Bitmap photo = (Bitmap) extras.get("data"); 
      if (photo != null) { 
       // mView should refer to view whose reference is obtained in onCreate() using findViewById(), and whose background you want to update 
       mView.setBackground(new BitmapDrawable(getResources(), photo)); 
      } 
     } 
    } 
} 

上面的代码不使用全尺寸照片的背景。为此,您将不得不问照片意图将其保存到文件,并阅读该文件。详细信息目前here