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

标签 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?

最佳答案

I want to edit Preview before delivering to my app.

不要求 ACTION_IMAGE_CAPTURE Activity 有任何方法允许您在 onActivityResult() 返回图像之前强制用户编辑图像。

After taking photo a dialog shown that user must confirm photo.

不要求 ACTION_IMAGE_CAPTURE Activity 有任何方式允许您强制用户在 onActivityResult() 返回图像之前确认图像。

ACTION_IMAGE_CAPTURE Activity 的实现取决于这些 Activity 的开发人员,而不是您。

or I must use Camera API instead of Intent ?!

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

关于android - 使用 Intent 进行拍照和编辑预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28025123/

相关文章:

java - Android:如何使用相同的相机 Intent 拍摄多张照片

opencv - 使用OpenCV捕获15mp的1920x1080图像

php - 无法让 mysql 查询工作

android - 需要帮助设计一个 android 用户界面

xcode - 使用相机和表格单元 SWIFT

java - 如何在android客户端和自定义java服务器之间使用SSL套接字

c++ - 捕获到缓冲区 QT

opengl - 无论相机位置如何,都以相同的尺寸渲染 3D 模型

android - 如果用户 3 天不活动,如何发送通知

android - HttpMethod.Delete 不适用于 Spring-Android 的 RestTemplate