我想创建一个在相机预览上绘制图像的相机应用程序。当相机运行时,我想在相机预览上添加图像文件(例如:image.png)。 这是我必须运行相机的代码,但我不知道添加/绘制image.png的代码
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
"IMG_" + String.valueOf(System.currentTimeMillis()) + ".jpg"));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
答案 0 :(得分:2)
除非相机预览位于您的应用中,否则您无法在相机上叠加项目。使用意图不允许你这样做。
我的书中的一个示例应用程序Pro Android增强现实版向您展示了如何执行此操作。您可以找到该应用的开源代码here。
基本上,您必须使用SurfaceView来显示相机数据,然后使用RelativeLayout或FrameLayout在其上绘制内容。