使用Intent进行拍照和编辑预览

时间:2015-01-19 12:53:53

标签: android camera photo preview

我正在使用以下代码拍照:

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

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{  
        if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK)
        {  
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            ImageView img = (ImageView) findViewById(R.id.imageView1);
            img.setImageBitmap(photo);    
        }
} 

我希望在投放到我的应用之前编辑预览。 拍照后,显示用户必须确认照片的对话框。我想在此预览中编辑图像。

更新:

实际上我想为照片添加水印。当用户点击捕获按钮时,他必须看到带有水印而不是原始图像的图像!

是否可以使用Camera API而不是Intent?

1 个答案:

答案 0 :(得分:2)

  

我希望在投放到我的应用之前编辑预览。

ACTION_IMAGE_CAPTURE活动没有任何要求允许您强制用户在onActivityResult()返回给您之前编辑图像。

  

拍摄照片后,显示用户必须确认照片。

ACTION_IMAGE_CAPTURE活动无需任何方法允许您强制用户在onActivityResult()返回给您之前确认该图片。

ACTION_IMAGE_CAPTURE活动的实施取决于这些活动的开发者,而不是你。

  

或者我必须使用Camera API而不是Intent?!

使用本机相机API对您没有帮助,因为本机相机API不提供图像编辑器。如果您希望用户编辑图像,则需要在图像上尝试ACTION_EDIT(在任何给定设备上可能支持或不支持),或者在您的应用中添加图像编辑器。