如何在拍摄照片后立即在照片上绘图,然后保存到存储空间

How to draw on a photo IMMEDIATELY after taking it, THEN save to storage

我四处搜索并找到了解决此问题的几种不同方法,但 none 正是我要找的方法。

我正在开发一个应用程序,让用户可以通过 MediaStore.ACTION_IMAGE_CAPTURE Intent 打开相机来拍摄图像...

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

然后用

保存图像
File photo = new File(Environment.getExternalStorageDirectory(), titleOfPhoto + ".jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));

我什至取回缩略图并在 onActivityResult() 覆盖中为用户显示它。

正如标题所暗示的,我想做的是让用户在拍摄后立即在拍摄的图像上绘图。但是我无法控制在打开相机和返回我的应用程序之间发生的事情,并且已经保存了捕获的图像。 SnapChat 和 WhatsApp 等应用程序正是这样做的,而且还有更多,所以我知道这是可能的,但 Android 似乎没有内置此功能。

要明确:事件的顺序需要

1) 打开相机

2) 拍照

3) 在图片上画画

4) 按'Ok'/'Done' 或其他

5) 保存修改后的照片

6) Return 缩略图

有没有办法给相机添加一个事件监听器,或者以不同的方式打开相机来提供更多的控制?任何帮助表示赞赏!谢谢!

为此,您必须使用 Camera Framwork API

其基础是在应用程序的 Surface View 上呈现相机输出。然后当用户拍照时,捕获surface view的状态。从那里你可以让你的用户在图片上画画。完成后,THEN 保存图片并显示其缩略图。