我已经四处寻找并找到了一些不同的解决方案来解决这个问题,但它们都不是我想要的。
我正在开发一个应用程序,让用户通过MediaStore.ACTION_IMAGE_CAPTURE意图打开相机拍摄图像......
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)按'确定' /'完成'什么
5)保存已编辑的照片
6)返回缩略图
是否有向相机添加事件监听器,或以不同方式打开相机以提供更多控制?任何帮助表示赞赏!谢谢!
答案 0 :(得分:1)
为此,您必须使用Camera Framwork API。
基本原理是在应用中的Surface View上渲染相机输出。然后,当用户拍照时,捕捉表面视图的状态。从那里,您可以允许您的用户在图片上绘图。完成后,然后保存图片并显示缩略图。