我正在使用以下代码拍照:
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?
答案 0 :(得分:2)
我希望在投放到我的应用之前编辑预览。
ACTION_IMAGE_CAPTURE
活动没有任何要求允许您强制用户在onActivityResult()
返回给您之前编辑图像。
拍摄照片后,显示用户必须确认照片。
ACTION_IMAGE_CAPTURE
活动无需任何方法允许您强制用户在onActivityResult()
返回给您之前确认该图片。
ACTION_IMAGE_CAPTURE
活动的实施取决于这些活动的开发者,而不是你。
或者我必须使用Camera API而不是Intent?!
使用本机相机API对您没有帮助,因为本机相机API不提供图像编辑器。如果您希望用户编辑图像,则需要在图像上尝试ACTION_EDIT
(在任何给定设备上可能支持或不支持),或者在您的应用中添加图像编辑器。